본문 바로가기

개발 관련/C

#include

C를 배우거나 접한 사람들은 다음과 같은 코드를 많이 봤을 것이다.

#include <stdio.h>

과연 위 코드는 무엇을 나타내는 코드일까?

 

1. #include

'#' 기호는 전처리기를 나타낸다. 

include는 단어가 가진 뜻 그대로 '포함한다'를 내포한다는 C 언어의 예약어이다.

즉, <stdio.h>라는 것을 내가 지금 사용하는 이 코드(파일)에 포함하겠다라는 뜻이 된다.

 

잠깐, 전처리기(preprocessor)는 또 뭘까?

전처리기에서 '전'은 엄밀히 말하자면 '컴파일 전'을 의미한다.

 

2. stdio.h

stdio는 standard input/output을 의미하고, 표준 입출력 헤더파일이다.

h는 확장자로써, header의 축약어이다.

 

3. 결론

즉, #include <stdio.h>는 소스 코드를 기계어로 번역하기 전에, stdio.h라는 헤더를 포함하여 컴파일 하겠다는 의미다.

 

소스코드는 기계어로 되어있다. printf와 같은 함수들이 stdio.h 파일에 담겨있으므로 stdio.h를 포함시키므로써 내 코드안에 stdio.h가 내포한 많은 함수들을 사용하겠다는 말이다.