1. 가변인자만을 가지는 매크로 구현
#include <stdio.h>
#define PRINT(...) printf(__VA_ARGS__)
int main() {
PRINT("print\n"); // output : print
PRINT("%d %d\n", 1, 2); // output : 1 2
return 0;
}
2. 가변인자와 고정인자를 가지는 매크로 구현
#include <stdio.h>
#define PRINT(fixVar, ...) printf(fixVar, ##__VA_ARGS__)
int main () {
PRINT("print\n"); // output : print
PRINT("%d %d\n", 1, 2); // output : 1 2
return 0;
}
가변인자와 고정인자를 가지는 매크로 구현할때는 __VA_ARGS__ 앞에 ##을 붙이는 걸 유의하자.
728x90
'Language > C' 카테고리의 다른 글
[C/C++] #if ... #elif ... #endif 할때 정의 조건문 넣는방법 (0) | 2024.04.27 |
---|---|
[C] typedef struct와 타입 전방 선언으로 인한 C2371 오류 (1) | 2023.01.03 |
[C] printf 서식문자 (0) | 2022.09.16 |
[Complie Process] 컴파일의 4단계 과정 (0) | 2022.02.03 |
[C] ANSI Escape sequences (0) | 2021.10.04 |
댓글