C/C에서 매크로 기반 문자열 연결
C/C에서 매크로 정의 문자열을 직접 연결하는 것은 ##을 사용하여 불가능합니다. 주로 토큰 연결을 위한 전처리기 연산자입니다. 그러나 이를 달성하기 위한 해결 방법이 있습니다.
다음 예를 고려하십시오.
#define STR1 "s" #define STR2 "1" #define STR3 STR1 STR2
이 코드는 세 가지 매크로를 정의합니다. 문자열 리터럴 "s"가 있는 STR1, "1"이 있는 STR2, STR3은 STR1과 STR2의 연결입니다. STR3을 확장하면 다음과 같은 결과가 발생합니다.
#define STR3 "s" "1"
그러나 C 언어에서 공백으로 구분된 두 문자열(예: "s" "1")의 병치는 단일 문자열 "s1"과 동일합니다. .
따라서 다음 코드는 ## 없이 STR1과 STR2를 직접 연결합니다. 연산자:
#define STR3 STR1 STR2
다음으로 확장됩니다.
#define STR3 "s1"
위 내용은 연산자 없이 C/C에서 매크로 정의 문자열을 어떻게 연결할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!