본문 바로가기
STUDY/C

[모각코 C언어 메이트 심화편] 헤더파일 |

by 23g 2022. 2. 24.

📌 헤더 파일이란?

 

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

- 헤더 파일 중복 방지