C 언어 헤더 파일 작성하는 방법

  • 4 minutes to read

C 언어에서 헤더 파일(Header file)은 함수, 매크로, 구조체 등의 원형(prototype)과 상수, 전역 변수 등의 정의를 담고 있는 파일입니다. 헤더 파일은 각 파일에서 공유하고 사용할 수 있도록 작성됩니다.

C 언어에서 헤더 파일을 작성하는 방법은 다음과 같습니다:

  1. 헤더 파일 생성: 헤더 파일은 .h 확장자로 저장합니다. 예를 들어, myheader.h 같은 파일 이름으로 저장할 수 있습니다.

  2. 헤더 파일의 정의: 헤더 파일에는 원형(prototype)과 정의를 포함하는 코드를 작성합니다. 이 정의는 헤더 파일에서만 사용하고 공유할 수 있는 것들입니다.

#ifndef MYHEADER_H
#define MYHEADER_H

#define MAX_LENGTH 100

int add(int a, int b);

#endif
  1. 헤더 파일의 사용: 정의된 헤더 파일을 사용하고자 하는 C 파일에서 #include 문을 사용하여 헤더 파일을 참조합니다.
// main.c
#include <stdio.h>
#include "myheader.h"

int main(void) {
   int result = add(1, 2);
   printf("Result: %d\n", result);
   return 0;
}
  1. 헤더 파일의 정의와 구현: 헤더 파일에서 정의한 함수 등의 구현을 별도의 C 파일에서 작성합니다. 예를 들어, myheader.h에서 정의한 add 함수의 구현은 myheader.c 파일에서 작성할 수 있습니다.
// myheader.c
#include "myheader.h"

int add(int a, int b) {
   return a + b;
}

컴파일: 헤더 파일, C 파일, 구현 파일을 하나의 프로젝트로 컴파일하여 실행 파일을 생성합니다. 위의 과정을 수행하면 헤더 파일을 작성하고 사용할 수 있습니다. 헤더 파일을 작성하는 것은 프로그램 구조화와 재사용성을 높이는데 도움이 됩니다.

헤더 파일 구현하기

  1. 헤더 파일 작성 (header_calc.h)

먼저, 두 개의 정수를 매개변수로 받는 add, subtract, multiply, divide 함수의 원형을 선언하는 header_calc.h 헤더 파일을 작성합니다.

// header_calc.h
#ifndef CALC_H
#define CALC_H

int add(int a, int b); // 덧셈 함수
int subtract(int a, int b); // 뺄셈 함수
int multiply(int a, int b); // 곱셈 함수
int divide(int a, int b); // 나눗셈 함수

#endif
  1. 헤더 파일의 구현 (header_calc.c)

그 다음, header_calc.h 헤더 파일에서 선언한 함수들을 header_calc.c 파일에서 구현합니다.

// header_calc.c
#include "header_calc.h"

int add(int a, int b) 
{
    return a + b; // 덧셈 결과 반환
}

int subtract(int a, int b) 
{
    return a - b; // 뺄셈 결과 반환
}

int multiply(int a, int b) 
{
    return a * b; // 곱셈 결과 반환
}

int divide(int a, int b) 
{
    if (b != 0) 
    {
        return a / b; // 나눗셈 결과 반환
    } else 
    {
        return 0; // 에러 케이스: 0으로 나누는 경우
    }
}
  1. 헤더 파일의 사용 (header_main.c)

마지막으로, header_main.c 파일에서 header_calc.h 헤더 파일을 참조하고, 위에서 구현한 네 가지 함수를 사용하여 숫자 10과 5에 대해 연산을 수행한 결과를 출력하는 main 함수를 작성합니다.

// header_main.c
#include <stdio.h>
#include "header_calc.h"

int main(void)
{
    int a = 10;
    int b = 5;

    printf("덧셈: %d\n", add(a, b));
    printf("뺄셈: %d\n", subtract(a, b));
    printf("곱셈: %d\n", multiply(a, b));
    printf("나눗셈: %d\n", divide(a, b));

    return 0;
}
덧셈: 15
뺄셈: 5
곱셈: 50
나눗셈: 2

위와 같이 헤더 파일의 선언, 구현, 그리고 사용을 정확하게 이해하고 작성할 수 있다면, 이 문제에 대한 이해는 충분하다고 볼 수 있습니다.

VisualAcademy Docs의 모든 콘텐츠, 이미지, 동영상의 저작권은 박용준에게 있습니다. 저작권법에 의해 보호를 받는 저작물이므로 무단 전재와 복제를 금합니다. 사이트의 콘텐츠를 복제하여 블로그, 웹사이트 등에 게시할 수 없습니다. 단, 링크와 SNS 공유, Youtube 동영상 공유는 허용합니다. www.VisualAcademy.com
박용준 강사의 모든 동영상 강의는 데브렉에서 독점으로 제공됩니다. www.devlec.com