본문 바로가기
Language/C

[C, C++] 가변인자를 가지는 매크로 구현하기

by 어발 2022. 8. 19.

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

댓글