C/C 매크로로 문자열 연결
C 및 C에서 매크로는 사전 작업 중에 상수를 정의하고 텍스트 대체를 수행하는 편리한 방법을 제공합니다. -처리. 다음과 같이 정의된 두 개의 매크로 STR1과 STR2가 있다고 가정합니다.
#define STR1 "s" #define STR2 "1"
STR1과 STR2를 연결하여 "s1"을 얻으려고 합니다. 원하는 문자열을 생성하는 단일 매크로로 이 작업을 수행할 수 있는 간단한 방법이 있습니까?
직접 접근 방식
코드의 토큰과 달리 매크로는 전처리기에 의해 처리됩니다. 컴파일 전. 따라서 ' '와 같은 연산자를 사용하여 문자열을 매크로와 직접 연결할 수 없습니다. 그러나 특정 구문에 따라 이를 달성하는 것이 가능할 수도 있습니다.
이 경우 C에서는 매크로 확장 중에 공백으로 구분된 문자열 리터럴을 연결할 수 있습니다. STR3 정의를 다음과 같이 수정하면 원하는 결과를 얻을 수 있습니다.
#define STR3 STR1 STR2
이것은 다음으로 확장됩니다.
#define STR3 "s" "1"
C에서 두 문자열을 공백으로 분리하는 것은 단일 문자열. 따라서 STR3은 문자열 "s1"로 확장됩니다.
대체 접근 방식
직접 접근 방식이 시나리오에서 작동하지 않는 경우 대체 방법으로는 전처리기 조건문을 사용하거나 전달하는 방법이 있습니다. 연결을 수행하는 상위 매크로에 대한 인수입니다. 이러한 접근 방식은 더 복잡할 수 있지만 다양한 상황에서 더 많은 유연성을 제공합니다.
위 내용은 C/C 매크로를 사용하여 문자열을 어떻게 연결할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!