C언어 헤더 파일과 #include

코딩C언어
읽는데 5분 소요
처음 쓰여진 날: 2026-02-03
마지막 수정일: 2026-02-03
조회수: 4

요약

C언어의 헤더 파일, #include, 라이브러리 개념을 알아봅니다. stdio.h, string.h 등 자주 사용하는 표준 라이브러리 함수를 정리합니다.

핵심 정리

용어설명예시
헤더 파일함수 선언이 담긴 파일 (.h 확장자)stdio.h, string.h
#include헤더 파일을 코드에 포함시키는 지시문#include <stdio.h>
라이브러리미리 작성된 함수들의 모음표준 라이브러리, 수학 라이브러리

라이브러리란?

라이브러리(Library) 는 자주 사용하는 기능을 미리 만들어 놓은 함수들의 모음입니다.

직접 모든 기능을 구현하지 않아도, 라이브러리에서 제공하는 함수를 가져다 쓸 수 있습니다.

c
코드 하이라이팅 중...

C언어에는 표준 라이브러리가 기본으로 제공되어, 모든 C 컴파일러에서 동일하게 사용할 수 있습니다.


헤더 파일이란?

헤더 파일(Header File) 은 라이브러리 함수의 선언이 담긴 파일입니다. 확장자는 .h입니다.

헤더 파일제공하는 기능주요 함수
stdio.h입출력 (Standard I/O)printf, scanf, fopen
string.h문자열 처리strlen, strcpy, strcmp
stdlib.h일반 유틸리티malloc, free, atoi
math.h수학 연산sqrt, pow, sin, cos
ctype.h문자 판별isupper, islower, isdigit

헤더 파일에는 함수의 선언(원형) 만 있고, 실제 구현은 컴파일된 라이브러리 파일에 있습니다.

c
코드 하이라이팅 중...

함수 선언 vs 함수 정의

함수 선언(Declaration) 은 "이런 함수가 있다"고 알려주는 것입니다. 함수 이름, 반환 타입, 매개변수 타입만 명시하고 본문(중괄호 안 코드)이 없습니다.

함수 정의(Definition) 는 함수가 실제로 무엇을 하는지 코드로 작성한 것입니다.

c
코드 하이라이팅 중...
구분함수 선언함수 정의
역할함수 존재를 알림함수 동작을 구현
본문없음 (세미콜론으로 끝)있음 (중괄호 안에 코드)
위치헤더 파일 (.h)라이브러리 파일

컴파일러는 헤더 파일의 선언을 보고 "이 함수가 존재한다"는 것을 알고, 나중에 라이브러리의 정의와 연결합니다.



#include란?

#include는 헤더 파일의 내용을 현재 코드에 포함시키는 전처리기 지시문입니다.

c
코드 하이라이팅 중...

#include를 작성하지 않으면 컴파일러가 해당 함수를 인식하지 못해 오류가 발생합니다.

c
코드 하이라이팅 중...

꺾쇠괄호 vs 큰따옴표

c
코드 하이라이팅 중...
표기의미검색 위치
< >시스템 헤더컴파일러 설치 경로
" "사용자 헤더현재 디렉터리 → 시스템 경로

정보처리기사 실기에서는 대부분 표준 라이브러리(< >)만 사용합니다.


자주 사용하는 표준 라이브러리

stdio.h - 입출력

c
코드 하이라이팅 중...
함수설명
printf형식화된 출력
scanf형식화된 입력
fopen파일 열기
fclose파일 닫기

string.h - 문자열 처리

c
코드 하이라이팅 중...
함수설명
strlen문자열 길이 반환
strcpy문자열 복사
strcmp문자열 비교 (같으면 0)
strcat문자열 연결

stdlib.h - 일반 유틸리티

c
코드 하이라이팅 중...
함수설명
malloc동적 메모리 할당
free메모리 해제
atoi문자열 → 정수 변환
rand난수 생성

math.h - 수학 연산

c
코드 하이라이팅 중...
함수설명
sqrt제곱근
pow거듭제곱
abs절댓값
ceil올림
floor내림

전처리기란?

전처리기(Preprocessor)컴파일 전에 소스 코드를 가공하는 단계입니다.

text
코드 하이라이팅 중...

#으로 시작하는 지시문은 모두 전처리기가 처리합니다.

지시문설명예시
#include파일 포함#include <stdio.h>
#define매크로 정의#define PI 3.14
#ifdef조건부 컴파일#ifdef DEBUG

#define 예시

c
코드 하이라이팅 중...

#define으로 정의한 값은 컴파일 전에 해당 값으로 치환됩니다.


정리

  1. 라이브러리: 미리 만들어진 함수들의 모음
  2. 헤더 파일: 함수 선언이 담긴 .h 파일
  3. #include: 헤더 파일을 코드에 포함시키는 지시문
c
코드 하이라이팅 중...

라이브러리 함수를 사용하려면 해당 헤더 파일을 #include로 포함해야 합니다.