1 분 소요

구성 요소

프로그래밍 언어도 자연어와 마찬가지로 품사를 나눌 수 있다. 각 언어마다 품사를 나누는 방법이
다르듯이 프로그래밍 언어들도 각각 다른 품사 구성을 가진다. C언어는 일곱 개의 구성 요소로
나누어지는데 각각의 구성 요소들은 모두 고유한 특징을 가지고 있다. 언어를 구성하는 이 일곱 개의 요소를 잘 구분해야 문법을 체계적으로 학습할 수 있으며 그래서 구성 요소를 파악하는 것이 C언 공부의 시작이다.

키워드(Keyword)

C언어 자체가 의미를 미리 정해 놓은 단어들이며 예약어라고도 한다. C언어가 이미 사용하고 있는 단어들이므로 다른 목적으로 사용할 수 없다. 즉, 키워드와 똑같은 이름의 변수나 함수를 만들 수 없다.

C언어 기준 키워드
auto, case, cdecl, const, char, continue, default, do, double, else, enum, extern, float, for, goto, if, int, long, register, return, short, signed, sizeof, static, struct, switch, typedef, union, unsigned, void, volatile, while

C++에서 추가된 키워드
asm, class, delete, friend, inline, mutable, new, operator, private, protected, public, template, this, virtual, explicit, ….

명칭(Identifier)

명칭은 사용자가 직접 만들어서 사용하는 것이다. 변수나 함수같은 것들은 다른 것들과 구분되어야 하므로 자기만의 고유한 이름을 가져야한다. 명칭 작성에는 몇 가지 간단한 규칙이 있다.

  1. 키워드는 쓸 수 없다.
  2. 알파벳, 숫자, 밑줄기호(_)로 구성된다. 그 외의 콜론, 따옴표, 괄호, 공백도 쓸 수 없다.
  3. 첫 문자는 알파벳이나 밑줄기호만 올 수 있다. 숫자는 중간이나 끝부분만 올 수 있다.
  4. C언어는 대소문자를 구분한다. Score, score, SCORE는 모두 다른 명칭으로 인식한다.

상수(Constant)

변수의 반대되는 개념이며 고정된 값을 가지는 식이다. 5, 638, 1.414 이런 것들이 상수이다. 5는 언제나 5일 뿐 그값이 변하지 않으므로 분명이 상수이다. 숫자외 문자열 상수도 있다. ‘A’, ‘8’ 과 같이 표현하고 문자열의 경우 “Korea”와 같이 겹 따옴표로 감싼다.

연산자(Operator)

계산을 지시하는 기호들을 연산자라고 한다. 실생활에서 많이 사용하는 +, -, *, / 같은 사칙 연산자들도 있고 이외에 관계, 대입, 논리 연산자 등 다양한 연산자가 있다. 또한 C 언어만의 고유한 포인터 연산자, 삼항 연산자 등이 있다.

구두점(Punctuator)

자연어에는 마침표, 쉼표, 물음표, 느낌표같은 것들이 있어서 단어들을 구분하고 뜻을 좀더 분명히
전달하는 역할을 한다. C언어도 마찬가지로 구성 요소를 구분하여 좀 더 분명한 의미를 가지도록 하는 구두점이 있다. 쉼펴, 따옴표, 괄호, 세미콜론 등이 구두점으로 사용한다.

공백 문자(White Space)

스페이스와 탭, 개행 코드 등이 공백이다. 공백 문자는 눈에 보이지 않지만 구성요소들을 구분하는 아주 중요한 역할을 한다. int num; 이라는 선언에서 int라는 키워드와 명칭 num이 공백에 의해 분리되는 것을 볼 수 있다. 주석도 일종의 공백으로 인정된다.

주석(Comment)

설명을 위해 삽입되는 문자열이다. 컴파일러는 주석을 완전히 무시하므로 프로그램 실행에는 아무런 영향을 주지 않는다. 주석은 소스를 읽는 사람이 의미를 쉽게 파악할 수 있도록 설명을 붙여 놓는 것이다. 한 줄만 사용할땐 //, 문단으로 사욜할땐 /*로 시작해서 */ 로 닫아 주면 된다.

1