C언어 전처리 기호

dandb3·2023년 5월 23일
0

C언어 문법

목록 보기
1/4

glibc 소스를 읽다가 이해가 안 되는 전처리문을 발견함.
# define GL(name) _##name
그래서 알아보는 김에 이것저것 알아봄.

  • : Stringizing operator

    • #define문의 인수 앞에 사용된다.
    • 피연산자를 문자열로 치환하는 역할을 한다.
  • : Merge operator

    • #define문 내에서만 사용, 형식 인수 사이에 위치함.
    • 각각을 치환한 다음, 하나의 심볼로 인식되도록 합쳐준다.
  • 예시 코드
#include <stdio.h>
#define elearn(str) printf(#str"%d\n", str)
#define wow(a, b) int i##a##b

int main()
{
    wow(0, 1);
    i01 = 3;
    printf("%d\n", i01);			//3
    elearn(234);					//234234
    printf("sdf""%d\n", 345);		//234345
    return 0;
}
profile
공부 내용 저장소

0개의 댓글