Search
Duplicate

전처리기 지시문

Created
2021/11/18 08:53
Tags
역할
컴파일 전에 파일 내용이나 소스 내용을 삽입, 수정하기 위한 역할
지시문
#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
복사