1. 기본 틀
#include <stdio.h>
void main(){
printf("Hello, World!\n");
}
- C 프로그램은 항상 main 함수로 시작한다. main은 프로그램의 시작점이 되며 이름이 고정되어 있다. 컴파일러도 main에서부터 실행을 시작한다.
- (절대적이지는 않지만) 대부분의 C소스는 프로그램 선두에 #include, #define 같은 전처리문이 오고 이어서 함수 원형, 전역변수 선언이 온다. 그리고 프로그램 본체인 main 함수와 그 외 필요한 함수들이 이어진다.
2. 용어 정리(프로그램 구성요소)
- 키워드 (Keyword)
- C언어 자체가 의미를 미리 정해 놓은 단어들이며 '예약어(Reserved word)라고도 한다.
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
- 명칭 (Identifier)
- 사용자가 직접 만들어서 사용 하는 것.
변수나 함수 같은 것들은 다른 다른 것들과 구분(Identify)되어야 하므로 자기만의 고유한 이름을 가져야 한다.
다음과 같은 몇 가지 간단한 규칙이 있다.
a. 키워드는 쓸 수 없다.
b. 알파벳, 숫자, _ 로 구성된다. 그 외의 콜론, 따옴표, 괄호 같은 기호는 명칭으로 쓸 수 없다.
c. 첫 분자는 알파벳이나 밑줄기호만 올 수 있다.
d. C언어는 대소문자를 구분한다.
- 상수 (Constant)
- 변수의 반대되는 개념이며, 고정된 값을 가지는 식이다.
- 연산자 (Operator)
- 구두점 (Punctuator)
- C언어의 구성 요소를 구분하여 좀 더 분명한 의미를 가지도록 한다. 쉼표, 따옴표, 괄호, 세미콜론 등이 있다. 참고로 변수에 값을 대입할 때 이용하는 '='은 연산자가 아니라 '구두점이다.
- 공백문자 (White space)
- 스페이스와 탭, 개행 코드 등이 공복이다. 주석도 일종의 공백으로 인정된다.
- 주석 (Comment)
- 설명을 위해 삽입되는 문자열이다. 컴파일러는 주석을 완전히 무시하므로 프로그램 실행에는 아무런 영향을 주지 않는다. 한줄 주석은 '//'을 이용하며, 여러줄 주석은 '/* */'을 이용한다. 참고로 구형 컴파일러에서는 한줄 주석은 사용할 수 없다.
출처 : 혼자 연구하는 C/C++ 1 / 김상형 저 / 와우북스