•
역할
컴파일 전에 파일 내용이나 소스 내용을 삽입, 수정하기 위한 역할
•
지시문
#define, #error, #if, #elif, #else, #endif, #ifndef
#ifdef,
#include, #line, #undef,
대부분 '#' 으로 시작됨
파란색글씨는 자주 쓰는 전처리기 지시문이다.
전처리기 지시문 : #define
•
#define 역할
매크로 상수와 함수를 생성하는 역할
•
#define 형식
◦
매크로 상수 형식
: 문자열이 상수를 대신하는 형식
◦
매크로 함수 형식
: 간소화 된 함수 형식
•
매크로 상수 형식
메인함수 위에 #include 밑에 작성하는게 관례이다.
#define TWO 2
#define 매크로상수 치환상수
C
복사
•
매크로 상수 예
#include <stdio.h>
#define PI 3.14
#define MAX 20
int main(void){
char strname[MAX] = "C language";
printf("%.2f %s\n", PI, strname);
return 0;
}
C
복사
•
매크로 함수 형식
#define Multiple(x, y) (x * y)
#define PRINT_D(x) printf("%d", x)
#define MAX(X, Y) (X > Y ? X : Y)
C
복사
◦
매크로 함수에는 데이터형을 명시하지 않는다.
•
식 1 ? 값1 : 값2 의 의미
◦
if문의 간결식
◦
식1이 참이며 값1 을 대입, 거짓이면 값2를 대입
전처리기 지시문 : #ifndef, #endif
•
역할
◦
#ifndef '식별자' 가 파일에 정의 되어 있지 않으면
#ifndef와 #endif 사이의 내용을 처리
▪
동일한 헤더 파일이 중복으로 포함되는 것을 방지
→ 분할 컴파일에서 중요
•
형식
#ifnedf 식별자(대문자)
......
#endif
C
복사