본문 바로가기

PL/C & C++

[C/C++] header파일

 

#include <iostream>을 사용하면 'iostream'이라는 헤더 파일의 모든 내용을 복사해오도록 요청한다. 이렇게 하면 헤더 파일의 내용을 코드 파일에서 사용할 수 있다.

 

헤더 파일은 일반적으로 선언만 포함하므로 어떻게 구현되는지 정의하지는 않는다. 실제 정의는 링크 단계에서 자동으로 프로그램에 링크되는 C++ 런타임 지원 라이브러리에서 구현된다.

만약 iostream 헤더 파일이 존재하지 않는다면, cout과 관련된 모든 선언을 각 파일의 맨 위로 일일이 복사해야 한다

 

전방 선언과 정의'에서 컴파일러가 main.cpp를 컴파일할 때 'add'가 무엇인지 알 수 있도록 전방 선언(forward declaration)을 했었다. 사용하고자 하는 모든 함수에 대한 전방 선언을 각 파일에 작성하는 것은 매우 지루한 일이다.

헤더 파일은 이러한 부담을 줄여 준다. 헤더 파일을 사용하면 선언을 필요한 만큼 한 번만 작성하면 되고, 함수 원형에 대한 유지보수를 편하게 해준다.

헤더 파일은 두 부분으로 구성된다.

첫 번째 부분은 헤더 가드(header guard)라고 하며 헤더 파일이 같은 파일에서 두 번 이상 포함(include)되지 않게 해준다.

 

헤더 가드는 조건부 컴파일 지시자를 사용한다.

 

 

두 번째 부분은 .h 파일의 실제 내용이다. 이 내용은 다른 파일에서 볼 수 있는 모든 함수에 대한 선언이다.

 



 

C++ 01.10 - 헤더 파일 (header file)

01.10 - 헤더 파일 (Header file) .cpp 확장자를 가진 코드 파일은 C++ 프로그램의 유일한 파일이 아니다. 다른 유형의 파일을 헤더 파일(header file)이라고 한다. 헤더 파일은 보통 .h 확장자를 가지며, 다��

boycoding.tistory.com

 

'PL > C & C++' 카테고리의 다른 글

동적할당된 메모리 크기 구하기, _msize  (0) 2020.08.20
calloc, malloc, realloc  (0) 2020.08.20
[C/C++] scanf  (0) 2020.08.03
[C] sizeof  (0) 2020.07.21
[C/C++] NaN  (0) 2020.07.21