파일의 분할과 헤더파일의 디자인
파일을 나누는 이유
파일을 나눠서 각각의 파일에, 용도 및 특성 별로 함수와 변수를 나눠서 저장하면 소스 코드의 관리가 용이해지기 때문이다.
외부 선언은 extern
다른 파일에서 접근을 못하게 하고 싶을땐 static
헤더파일의 디자인과 활용
#include 지시자
- 파일의 내용을 단순히 포함시키는 용도로 사용.
헤더파일을 include하는 두가지 방법
1. #include <헤더파일 이름>
- 이 방식은 표준 헤더파일이 저장되어 있는 디렉터리에서 파일을 찾게 된다.
2. #include "헤더파일 이름"
- 이 문장을 포함하는 소스파일이 저장된 디렉터리에서 헤더파일을 찾는다.
때문에 프로그래머가 정의하는 헤더파일을 포함시킬 때 사용하는 방식이다.
- 이 방식을 사용하면 다음과 같이 헤더파일의 이름뿐만 아니라, 드라이브 명과 디렉터리 경로를 포함하는
'절대경로(완전경로)'를 명시해서 헤더파일을 지정할 수 있다.
#include "C\CPower\MyProject\header.h" //Windows 상에서의 절대경로 지정 #include "/CPower/Myproject/header.h" //Linux 상에서의 절대경로 지정 |
- 절대경로를 지정해서 헤더파일을 선언하면 다른 컴퓨터에서 컴파일 하는 일이 매우 번거로워진다.
그래서 #include 문에서는 절대경로를 사용하지 않고 상대경로를 사용한다.
헤더파일에는 무엇을 담으면 좋을까?
- 둘 이상의 소스파일로 이뤄진 프로그램에서 삽일 될 수 밖에 없는 유형의 선언들.
- 매크로의 명령문
- 구조체의 선언 및 정의
- 윤성우 저, 열혈강의 C프로그래밍 中 -