지시문 뒤에 파일을 표시하는 방법은 2가지입니다. 예제처럼 홑화살괄호(<>)로 파일을 추가하면 컴파일러가 있는 폴더에서 해당 파일을 찾습니다. 보통 C 언어에 정의된 표준 파일을 추가할 때 사용합니다. 또는, 큰따옴표("")로 추가하기도 합니다. 큰따옴표를 사용하면 현재 소스 코드가 있는 폴더에서 해당 파일을 찾습니다. 보통 직접 작성한 파일을 코드에 포함할 때 사용합니다.
stdio.h는 표준 입출력(Standard Input Output) 함수를 포함한 헤더 파일(header file)입니다. 헤더 파일은 확장자가 h인 파일로, 다른 파일에 정의된 상수나 변수, 함수 등을 사용하기 위해 만들어졌습니다. stdio.h 파일에는 앞에서 사용한 printf() 함수나 scanf() 함수 등 입출력 관련 함수들이 선언되어 있습니다. 그래서 stdio.h 파일을 추가하면 예제 코드처럼 추가 작업 없이 printf() 함수를 바로 사용할 수 있습니다.
int main(void) {}는 main이라는 이름의 함수 정의를 나타냅니다. 함수에 관한 내용은 5장 함수에서 다루니 여기서는 구조만 간단히 살펴보겠습니다. main() 함수는 모든 프로그램의 시작점으로, 한 프로젝트 안에 반드시 하나만 존재합니다. 프로그램을 실행하면 전처리기 지시문을 제외하고 가장 먼저 실행됩니다. 그래서 main() 함수가 없으면 프로그램이 실행되지 않고 오류가 발생합니다.
앞에 붙은 int는 main() 함수가 반환하는 값의 자료형입니다. 뒤에서 배우지만 int는 정수형을 나타냅니다. 따라서 main() 함수가 반환하는 값이 정수라는 의미입니다. 소괄호 안에 든 void는 함수가 전달받는 값인데, void를 넣으면 전달받는 값이 없다는 뜻입니다. 중괄호({}) 안에는 함수 본문을 작성하고, 여는 괄호와 닫는 괄호가 모두 있어야 정상적으로 작동합니다. 함수 본문은 main() 함수의 시작 위치보다 4칸 들여 씁니다.
TIP 전달값에 관해서는 5.2.2 함수로 사칙연산하기에서 자세히 다룹니다. 여기서는 main() 함수에서 전달받는 값이 없다고만 알아 두세요.