巨集函式

weixin_34087301發表於2016-03-13

使用巨集函式優勢

1、簡化程式的編寫

2、巨集是由編譯器解析和替換的,巨集裡面可以不用寫型別

宣告方式:

#define MAX(A,B) A>B?A:B

#define LOOP(TO,FROM,CONTENT) \

for(int index=TO;index<=FROM;index++){ \

CONTENT; \

}

呼叫方式:

printf("max value is %d\n",MAX(4,5));

LOOP(1,10,printf("content is %d \n",index));



巨集函式引數連線

1、使用巨集函式引數連線是為了避免匯入多個庫的時候有相同名稱的方法引起方法衝突

使用方式:

#define callLinked(NAME) wyd##NAME()

void wydlinked(){

printf("name is %s/n","wyd");

}

呼叫方式:

callLinked(linked);


巨集函式可變引數

使用方式:

#define LOG(LEVEL,FORMAT,...) printf(LEVEL); printf(FORMAT,__VA_ARGS__);

#define LOG_E(FORMAT,...) LOG("ERROR:",FORMAT,__VA_ARGS__);

呼叫方式:

LOG_E("args is %s \n","null");

相關文章