본문 바로가기
Programming

C 라이브러리와 헤더 파일

by 나무수피아는 지식의 가지를 뻗어가는 공간입니다. 2025. 8. 20.
반응형

라이브러리와 헤더 파일

1. 표준 라이브러리란?

C 언어는 다양한 표준 라이브러리를 제공하여 파일 입출력, 문자열 처리, 수학 계산, 동적 메모리 할당 등을 쉽게 할 수 있도록 돕습니다. 표준 라이브러리는 #include <라이브러리이름> 형태로 포함됩니다. 각 라이브러리는 특정한 기능에 초점을 맞추고 있으며, 개발자는 필요에 따라 적절한 헤더 파일을 포함하여 사용합니다.

자주 사용하는 표준 헤더 파일

  • <stdio.h> : 입출력 함수 (printf, scanf 등)
  • <stdlib.h> : 동적 메모리, 숫자 변환 (malloc, atoi 등)
  • <string.h> : 문자열 처리 (strlen, strcpy 등)
  • <math.h> : 수학 함수 (sqrt, pow 등)
  • <time.h> : 시간 및 날짜 함수

사용 예제

#include <stdio.h>
#include <string.h>

int main() {
    char name[] = "C Language";
    printf("문자열 길이: %zu\n", strlen(name));
    return 0;
}

2. 사용자 정의 헤더 만들기

프로젝트가 커질수록 코드의 재사용성과 유지보수성을 높이기 위해 자주 사용하는 함수나 구조체는 별도의 헤더 파일로 분리하는 것이 좋습니다. 이 방식은 코드의 가독성과 관리 효율성을 높이는 데 큰 도움이 됩니다.

헤더 파일 작성: myutils.h

#ifndef MYUTILS_H
#define MYUTILS_H

void say_hello();
int square(int n);

#endif

함수 정의 파일: myutils.c

#include <stdio.h>
#include "myutils.h"

void say_hello() {
    printf("안녕하세요!\n");
}

int square(int n) {
    return n * n;
}

메인 파일에서 사용

#include <stdio.h>
#include "myutils.h"

int main() {
    say_hello();
    printf("5의 제곱: %d\n", square(5));
    return 0;
}

TIP: 헤더 파일은 함수의 선언(declaration)만 포함하며, 실제 구현(implementation)은. c 파일에 작성합니다. 이는 다수의 소스 파일에서 동일한 헤더를 재사용할 수 있도록 해줍니다. 또한 #ifndef ~ #define ~ #endif 전처리 지시어를 사용하여 헤더가 중복 포함되는 것을 방지하는 것이 관례입니다.

사용자 정의 라이브러리는 팀 프로젝트나 모듈화 된 프로그램에서 특히 유용하며, 코드의 역할을 명확히 분리하고 테스트를 용이하게 해 줍니다. 표준 라이브러리와 사용자 정의 헤더를 적절히 활용하면 더 안전하고 유지보수하기 쉬운 프로그램을 만들 수 있습니다.

반응형

'Programming' 카테고리의 다른 글

C 메모리 모델 심층 분석  (66) 2025.08.22
C 디버깅과 오류 처리  (50) 2025.08.21
C 전처리기  (47) 2025.08.19
C 구조체와 공용체  (60) 2025.08.18
C 파일 입출력  (53) 2025.08.17