// education

전처리기 매크로와 다중 소스 파일

**전처리기(Preprocessor)**는 실제 컴파일러가 C 코드를 기계어로 번역하기 직전에, 소스 코드를 미리 재구성하고 정돈하는 사전 처리 도구입니다.


1. 대표적인 전처리기 지시자


2. 매크로 상수의 활용

#include <stdio.h>
#define PI 3.141592
#define MAX_SIZE 100

int main(void) {
    double radius = 5.0;
    double area = PI * radius * radius;
    printf("원 넓이: %.2f\n", area);
    return 0;
}

3. 헤더 파일 중복 포함 방지 (Include Guard)

다중 파일 프로젝트에서 동일한 헤더 파일이 여러 번 선언되어 발생하는 중복 정의 오류를 막기 위해 Include Guard 구문을 사용합니다.

#ifndef MY_HEADER_H
#define MY_HEADER_H

// 구조체 선언 및 함수 원형 선언들
void myFunction(void);

#endif

4. 자주 묻는 질문 (Q&A)

Q. 매크로 함수와 일반 함수의 차이는 무엇인가요? A. 일반 함수는 호출 시 스택 메모리를 사용해 오버헤드가 발생하지만, 매크로 함수는 컴파일 전에 코드 자체가 그 자리에 그대로 치환(확장)되므로 속도가 매우 빠릅니다. 단, 복잡한 인자 전달 시 괄호 미사용으로 인한 계산 오류가 발생하기 쉽습니다.

← 이전스트림과 파일 입출력 (fopen, fclose, fread, fwrite) 다음 →동적 메모리 할당과 기초 자료구조