[C언어] 1. 구조, 문장과 블럭, 주석, 토큰
이번에는 C언어의 공부하기 위해 꼭 알아야 할 기초 개념인 C언어 구조, 문장과 블럭, 주석, 토큰에 대해 알아보자
C언어 구조, 문장과 블럭
C언어 구조 알아보기
문장과 블록
1) 문장(statement)이란
- 프로그래밍 언어에서 컴퓨터에게 명령을 내리는 최소 단위
- 문장 마지막에
세미콜론(;)
=> 적지 않으면 컴파일 오류 발생
2) 블록(block)이란
- 여러개의 문장을 묶은 것
{} 중괄호(curly brace)
로 묶음- 들여쓰기(indetation):
tab키
를 사용해 블록 내부에서 문장들을 들여쓰기
=> 필수는 아니지만 가독성을 위해 강력 권장!
주석(comments)
주석(comments)이란?
1) 주석(comments)이란 👉 일반문장과 달리 프로그램에 영향을 주지 않는 설명문
컴파일 과정의 대상이 아니기 때문에 프로그램 실행, 실행파일의 속도와 크기에 영향을 주지 않음
2) 언제 작성하나
- 코드에서 잠시 작동시키지 않을 곳을 지정할 때
- 설명할 때
//한줄주석
소스 중간 => 구현방법, 작동방식 설명
/*
여러줄 주석 = 블록주석
*/
1) 프로그램의 처음: 작성자, 소스목적, 프로그램 전체구조, 파일정보(저작권 등)
2) 함수의 시작: 프로그램 구현방법, 매개변수 설명
3) 잘 작성된 주석
- 자신과 타인이 모두 이해할 수 있게 작성된 주석
- 시각적으로 정돈된 느낌, 가독성이 좋은 주석
- 프로그램 내용을 적절히 설명하는 주석
4) 주석 스타일 예시
/*
sol / project / source: ch02 / prj01 / comment.c
c 기초
v 1.0 2024.04.01 홍길동
*/
/*************************************************
소스: comments.c
내용: c언어 기초
버전: v 1.0 2024.04.01 홍길동
*************************************************/
/**
* 소스: comments.c
* 내용: c언어 기초
* 버전: v 1.0 2024.04.01 홍길동
**/
토큰(token)
토큰이란?
1) 토큰이란? 👉 C언어에서 가장 작은 단위 요소
2)토큰의 종류 👉 키워드, 식별자, 상수, 문자열, 구두점, 연산자
토큰의 종류
1) 키워드(예약어); keyword
- 키워드란? 컴파일러에 의해 이미 의미가 정해져 있는 단어
- 프로그램 코드를 작성하는 사람이 이 단어들을 다른 용도로 사용해서는 안 됨
- C프로그램에서는 ANSI(미국표준화위원회)에서 지정한 기본적인 단어 사용, 컴파일러에 따라 추가되기도 함
키워드(keyword) | 설명 및 예시 |
---|---|
기억부류 | 변수의 생존 기간을 정하는 키워드 auto extern register static |
제어문장 | 일의 진행순서를 결정하는 키워드 if else switch case break defalt continue for do while goto return |
자료형 | 변수의 범위를 지정하는 키워드 char short int long float double signed unsigned void union enum struct typedef |
그 외 | const volatile sizeof |
- 자료형
자료형 구분 | 설명 및 종류 |
---|---|
기본자료형 (basic data type) | 기본이 되는 자료형 ▫️ 정수형 short int long ▫️ 실수형 float double long double ▫️ 문자형 char =>컴퓨터는 문자를 정수로 처리해 정수형 취급하기도 함▫️ 무치형 void |
유도형 (deprived data type) | 기본형에서 나온 자료형 array; 배열 pointer 포인터 function 함수 |
사용자정의형 (user defined data type) | 기본형, 유도형을 이용해 사용자가 만드는 자료형enumiration 열거형 structure 구조체 union 공용체 |
2) 식별자; identifiers
- 프로그래머가 의미를 정한 단어:
변수명칭
상수명칭
함수명칭
- 식별자 명명 주의사항
- 키워드 사용 불가능
- 영문자(대소문자 구분), 숫자, 밑줄(_)로 구성
- 첫 번재 문자는 영문이거나 _(되도록 사용X)
- 식별자 중간에 공백(space)가 들어갈 수 없음
- 용도에 맞고, 의미 있게(줄여쓰기X, 이니셜X)
3) 상수; constants
- 변하지 않는 수, 변경이 불가능한 수
4) 문자열; strings
- 큰 따옴표(“”) 안에 작성되는 텍스트
5) 구두점; punctuators
- 의미를 강조하는 기호문자
구두점 종류 | 의미 |
---|---|
[] | 배열 |
() | 조건식, 함수, 포인터 |
{} | 제어블록, 배열의 초기화, 태그형틀 |
* | 포인터 |
, | 순차를 강조하는 쉼표연산자 |
; | 문장의 끝 |
= | 변수나 배열의 초기화 |
: | goto, case의 레이블 |
… | 생략부호 |
# | 전처리지시자 |
6) 연산자; operators
- 연산에 사용되는 기호문자
연산자 종류 | 연산자 |
---|---|
대입연산자 | = |
복합 대입연산자 | += -= *= /= %= |
산술연산자 | + - * / % |
관계연산자 | > >= < == != |
논리연산자 | && \|\| ! |
조건연산자 | 조건식 ? 수식1 : 수식2; |
증감연산자 | ++ -- |
비트연산자 | & \| ^ ~ >> << |