헤더파일
: 형태와 매크로를 정의하고 변수와 함수들을 선언해 놓은 파일
#include <stdio.h>
#include <string.h>
void main(void)
{
char str1[50] = "C Language";
char str2[50] = "Advanced C";
printf("Lang은 %s에 포함됩니다. \n", str1);
printf("Lang은 %s에 포함되지 않습니다. \n", str2);
}
[결과]
Lang은 C Language에 포함됩니다.
Lang은 Advanced C에 포함되지 않습니다.
- #include라는 전처리기 지시어에 따라 프로그램 소스 파일로 포함된다.
- 해당 헤더파일이 의도하지 않은 상태로 여러 번 중복되어도 전혀 문제되지 않는다.
- 헤더파일들이 포함되는 순서에 신경 쓸 필요가 없다.
- 헤더파일에 저장해야 할 내용
n 외부에 공개할 매크로, 상수, 구조체, 공용체 등
n 외부에 공개할 자료형 정의(typedef)
n 외부에 공개할 함수원형 선언
n 외부에 공개할 전역변수 extern 선언
- 소스파일에 저장해야 할 내용
n 외부에 공개할 필요가 없는 매크로, 상수, 구조체, 공용체 등
n 외부에 공개할 함수, 전역변수, 지역변수
n 헤더파일 include 문
n 외부에 공개하지 않을 함수원형 선언
*전처리기(preprocession)란?
원시 소스파일을 컴파일하기 전에 행해야 할 일련의 작업을 의미한다. 전처리는 pre라는 접두사가 의미하듯이 항상 프로그램이 컴파일되기 전에 선행되는 작업으로, 전처리의 가장 대표적인 예는#define에 의한 매크로 상수 정의와 #include 문에 의한 외부 파일의 포함 기능이다. 이 외에도 조건 컴파일과 대상 매크로의 사용도 전처리의 주된 기능이다.
- 전처리 지시자 사용시 주의할 점
n 전처리 정의는 반드시 ‘#’으로 시작해야 한다.
n 일반적인 C 언어 구문과 다르게 취급되므로 명령의 끝에 ‘;’을 붙이지 않는다.
n 전처리 지시문은 한 행에 기술해야 하나 한 행을 넘어가는 경우는 ‘\’를 사용하여 다음 줄과 연결된다는 것을 알려 주어야 한다.
'프로그래밍 > C & C++' 카테고리의 다른 글
[C] 날짜/시간 처리 함수 (0) | 2016.07.07 |
---|---|
[C] 문자 처리 함수 (0) | 2016.07.06 |
[C] 포인터 (0) | 2016.03.31 |
[C] 구조체 (0) | 2016.03.27 |
[C] 문자열 처리함수 (0) | 2016.03.22 |