C
# 및 ## (C 언어 매크로 연산자)
yororing
2024. 6. 25. 10:28
00 개요
- 목적: #와 ##가 C 언어로 작성된 파일에서 어떤 기능을 갖고 있는지 정리하고자 함
- C 언어 전처리기(preprocessor)는 코드 컴파일 전에 미리 처리하는 단계로, #define 지시문을 통해 매크로를 정의할 수 있음
- C 언어의 #define 지시문 안에서 사용되는 매크로의 # 및 ## 연산자에 대한 내용
01 # 연산
1. 정의
- 치환(substitute)의 역할을 함
2. 예시
#include <stdio.h>
#define STRING_NAME(A, B) #A "의 나이는 " #B "세입니다."
main() {
printf(STRING_NAME(저, 100));
}
02 ## 연산
1. 정의
- 결합(combine)의 역할을 함
2. 예시
#include <stdio.h>
#define CONCAT(a, b) a ## b
main() {
int num1 = 10, num2 = 20;
int result = CONCAT(num, 1) + CONCAT(num, 2);
printf("결과: %d\n", result);
}