C/문법
[C] 헤더파일
Rix
2021. 9. 23. 11:32
# 헤더파일
<stdio.h>와 같이 h 확장자로 만들어진 것들이 있다.
이러한 헤더파일을 사용함으로서, 이 파일 안에 선언되어 있는 여러가지 함수를 사용할 수 있게 되는 것이다.
--> C 파일로 만들어진 오브젝트 파일에 있는 함수들의 내용을 다른 소스 파일에서 사용할 수 있도록 하기 위함이다.
# 헤더파일 생성법
# 헤더파일 생성 후, 사용법
header.h 파일에는 main 함수의 선언 부분을 넣어준다.
일반적으로 헤더파일에 선언을 한 뒤 해당 코드 파일에 그 정의를 작성한다.
헤더파일에 맞는 코드파일은 header.c 이다.
사용 예시)
// header.h
#include <stdio.h>
struct Score
{
int kor;
int eng;
int math;
};
void PrintStruct(struct Score person);
// header.c
#include "header.h"
void PrintStruct(struct Score person)
{
printf("국어: %d\n", person.kor);
printf("영어 %d\n", person.eng);
printf("수학 %d\n", person.math);
}
// main.c
#include "header.h"
int main(void) {
struct Score p;
p.kor = 30;
p.eng = 100;
p.math = 100;
PrintStruct(p);
return 0;
}
// 실행결과
국어: 30
영어 100
수학 100
# 헤더파일 중복 문제 해결법
중복 오류를 해결하기 위해 다음과 같이 #ifndef 라는 전처리문을 사용한다.
#ifndef xxx
#define xxx
...
#endif
사용 예시)
// header.h
#ifndef HEADER
#define HEADER
#include <stdio.h>
struct Score
{
int kor;
int eng;
int math;
};
void PrintStruct(struct Score person);
#endif
--> "HEADER"가 정의되어 있지 않으면, #endif 전처리문 이전까지의 코드를 실행한다.