💻 프로그래밍/C, C++

[C] 선행처리기

gameuiux 2024. 4. 15. 17:08
728x90
반응형

선행처리기 종류

#include <stdio.h> // 파일 포함
#define // 매크로 상수, 함수 정의 - 단순 치환 자료

// 조건부 컴파일
#if
#else
#elif
#endif

 

#define 예시 (상수)

#include <stdio.h>
#define ADDR "서울시 강남구 역삼동"
#define TEL "02-1234-1234"
void main()
{
	printf("주소: %s\n", ADDR);
	printf("전화번호: %s\n", TEL);
}

 

#define 예시 (함수)

// #define 예시 (함수)
// #define 매크로명(인수) (수식)
// #define 매크로명(인수, 인수) (수식)
// #define AREA(x) (3.141592*(x)*(x))
// #define HAP(a, b) (a+b)
#include <stdio.h>
#define Hap1(x,y) x+y
#define Hap2(x,y) ((x)+(y))
#define Gop1(x,y) x*y
#define Gop2(x,y) ((x)*(y))
void main()
{
	int h1, h2, g1, g2;
	h1 = 10 * Hap1(3, 4); // h1 = 10*3+4
	h2 = 10 * Hap2(3, 4); // h2 = 10*((3)+(4))
	g1 = Gop1(1+2, 3+4); // g1 = 1+2*3+4
	g2 = Gop2(1+2, 3+4); // g2 = ((1+2)*(3+4))
	printf("h1=%d,h2=%d\n", h1, h2);
	printf("g1=%d,g1=%d\n", g1, g2);
}

 

조건부 컴파일 예시

#include <stdio.h>
#define CONDITION 1
void main()
{
#if CONDITION
	printf("\n A 프로그램을 컴파일");
#else
	printf("\n B 프로그램을 컴파일");
#endif
}

728x90
반응형