이 섹션에서는 C에서 Stringize 연산자(#)와 토큰 붙여넣기 연산자(##)가 무엇인지 볼 것입니다. Stringize 연산자는 전처리기 연산자입니다. 토큰을 문자열로 변환하기 위해 컴파일러에 명령을 보냅니다. 매크로 정의에서 이 연산자를 사용합니다.
stringize 연산자를 사용하면 따옴표를 사용하지 않고 일부 텍스트를 문자열로 변환할 수 있습니다.
예시
#include<stdio.h> #define STR_PRINT(x) #x main() { printf(STR_PRINT(This is a string without double quotes)); }
출력
This is a string without double quotes
토큰 붙여넣기 연산자는 전처리기 연산자입니다. 두 개의 토큰을 하나의 문자열로 추가하거나 연결하는 명령을 컴파일러에 보냅니다. 매크로 정의에서 이 연산자를 사용합니다.
예시
#include<stdio.h> #define STR_CONCAT(x, y) x##y main() { printf("%d", STR_CONCAT(20, 50)); }
출력
2050