📌 헤더 파일이란?
h 확장자로 만들어진 친구들
: C 파일로 만들어진 오브젝트 파일에 있는 함수들의 내용을
다른 소스 파일에서 사용하기 위해서
✅ 헤더 파일을 사용하는 이유
헤더는 C 코드에서, "선언부"들을 모아둔 파일이라고 생각하시면 돼요.
✔ header.h
#include <stdio.h>
struct Score
{
int kor;
int eng;
int math;
};
void PrintStruct(struct Score person);
header.h 파일에는 main함수의 선언 부분을 넣어줄게요.
일반적으로 헤더 파일에 선언한 뒤, 해당 코드 파일에 그 정의를 작성한답니다.
✔ 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
header.h를 포함한 뒤, 선언한 함수를 사용
✅ #ifndef
중복 선언으로 인한 오류를 방지하기 위해, #ifndef 라는 전처리문을 사용
#ifndef xxx
#define xxx
...
#endif
⭐ 정리하기 ⭐
✔ 헤더 파일을 사용하는 이유
- 절차 지향적 언어의 단점을 보완하기 위해
✔ #ifndef
- 헤더 파일 중복 방지
'STUDY > C' 카테고리의 다른 글
[모각코 C언어 메이트 심화편] 동적 메모리 할당 | 응용문제 : 소수 갯수 출력하기 (1) | 2022.02.24 |
---|---|
[모각코 C언어 메이트 심화편] 문자열 함수 | 버퍼 | 문자열 길이 비교 (0) | 2022.02.24 |
[모각코 C언어 메이트 심화편] 동적 메모리 할당 | 점수의 평균 구하기 (0) | 2022.02.24 |
[모각코 C언어 메이트 심화편] 함수 포인터 | 사칙연산 계산기 만들기 (1) | 2022.02.24 |
[모각코 C언어 메이트 심화편] 도전 문제 | 2차원 배열과 이중포인터 (0) | 2022.02.24 |