728x90
반응형
매크로(macro)에서 # 연산자는 문자열로 치환해 주는 연산자다. 예를 들어 설명하면,
#include <stdio.h>
#define STR_PRINT(str) printf(#str)
int main(void)
{
STR_PRINT(MACRO TEST);
return 1;
}
위 코드의 실행 결과는 "MACRO TEST"다. 실행결과에서알수 있듯이 #연산자는 매크로에 전달된 문자를 문자열로 치환해 주는 연산자다.
매크로의 매개변수를 문자화 시켜주는 연산자다.
## 연산자는 이어 붙여주는 기능을 한다. 예를 들면
#include <stdio.h>
#define MAKE_VARIABLE(n) int k##n = n
#define PRINT_VARIABLE(n) printf("%d\n", k##n)
int main()
{
for(int p = 0; p < 10; p++) {
MAKE_VARIABLE(p);
PRINT_VARIABLE(p);
}
return 1;
}
위 코드의 실행결과는
0
1
2
3
이다.
#연산자와 ## 연산자는 반복되는 구조체나 변수를 만들 때 많이 사용하고 반복되는 어떤 문자열을 만들 때도 많이 사용한다.
- 끝 -
728x90
반응형
'Programming language > C' 카테고리의 다른 글
[C] C 언어 매크로, #define, (0) | 2023.03.13 |
---|---|
[C]trunc, truncf, truncl 함수, 소수점 이하 자리 버림 함수 (0) | 2023.03.01 |
[C] memset 사용법, memset 을 이용한 변수 초기화 (0) | 2023.02.25 |
[C] C언어, double to ascii, serial 통신에서 데이터 변환 (0) | 2022.12.30 |
[C] C 에서 typeof, typeof 란? C언어 typeof (0) | 2022.11.23 |