본문 바로가기
프로그래밍/C & C++

[C] 헤더파일

by 불타는홍당무 2016. 1. 12.


헤더파일

 

: 형태와 매크로를 정의하고 변수와 함수들을 선언해 놓은 파일


#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