매크로 정의

#define

자주쓰는 키워드 또는 함수의 이름이 너무 길거나 직관적이지 못할 때 매크로를 정의하면 내가 원하는 이름이나 값, 형태로 바꿔쓸 수 있습니다.

#define pf printf

위와 같이 매크로를 정의하면 printf대신 pf로 쓸 수 있습니다. 매크로 함수의 경우에는 전달인자까지 고려하여 치환합니다.

#include <stdio.h>
#define pf printf
#define plus(a,b) ((a)+(b))
#define x 10
#define y -5

int main(){
   pf("%d",plus(x,y)); //5
}

말 그대로 치환이기 때문에 매크로를 쓸 때는 조심해야 합니다.

예를 들어 #define plus(a,b) a+b 라고 한다면

2*plus(1,3)의 결과는 2*(1+3) = 8이 아니라 2*1+3 = 5를 도출합니다.


© 2018. All rights reserved.

Powered by Hydejack v8.5.2