안녕하세요 C언어의 매크로 함수를
아래와 같이 사용하였습니다.
#define str(x) #x
#define trans(x) str(x)
#define list cell_a cellb
out = trans(list) ;
결과는 cell_a cell_b
가 나옵니다.
list의 값이 출력됨
추가적으로 trans매트로를 안쓰고
out=str(list)로 해버리니
결과는 list라는 변수명이
그대로 나옵니다.당연히 #라는 토큰때문에
문자 그대로 뽑힙니다
하지만, 위의 trans(x)조합시에는
값이 출력되는 원리가 궁금하네요.