본문 바로가기
IT/c언어

C언어 매크로 ## 연산자: 강력한 문자열 결합 기능

by 뉴코딩맨 2023. 7. 24.
C언어의 전처리기(preprocessor)는 코드 컴파일 전에 미리 처리하는 단계로, #define 지시문을 통해 매크로를 정의할 수 있습니다. 이번 글에서는 C언어의 #define 지시문과 매크로의 ## 연산자에 대해 자세히 알아보겠습니다.

 

 

1. 매크로와 #define 지시문

매크로는 특정 코드 조각을 미리 정의해두고 나중에 해당 코드 조각을 사용하는 기능입니다. C언어에서는 #define 지시문을 사용하여 매크로를 정의할 수 있습니다.
 

2. 매크로의 ## 연산자

매크로의 ## 연산자는 두 토큰을 하나로 결합하는 기능을 제공합니다. 이 연산자를 사용하여 매크로 내에서 문자열을 결합하거나 변수 이름을 생성하는 등의 작업을 수행할 수 있습니다.
 

3. ## 연산자의 활용

연산자는 매크로의 유연성을 높여주며, 코드 작성을 더욱 편리하고 간결하게 만듭니다. 또한, 코드의 재사용성과 가독성을 높이는 데에도 큰 도움이 됩니다.

 

 

4. 예제와 설명

다음은 ## 연산자를 사용하여 매크로를 정의하는 예제입니다.
 
#include <stdio.h>

#define CONCAT(a, b) a ## b

int main() {
    int num1 = 10, num2 = 20;
    int result = CONCAT(num, 1) + CONCAT(num, 2);

    printf("결과: %d\n", result); // 결과: 30

    return 0;
}
 
위의 예제에서는 CONCAT 매크로를 정의하여 두 변수 num1과 num2를 결합하여 변수 이름을 생성하고, 해당 변수들의 값을 더하는 예제를 보여줍니다.
 

5. 결론

이번 글에서는 C언어의 #define 지시문과 매크로의 ## 연산자에 대해 알아보았습니다. 매크로의 ## 연산자는 강력한 기능으로서, 문자열 결합이나 변수 이름 생성 등의 작업에 유용하게 활용될 수 있습니다.

 

댓글