宏 #define(宏名宏體)
①定義常量與命令(避免幻數(shù))
#define MAX 100#define SIZE 1024 #define LOGIN_SUCCESS 1 #define LOGIN_FAIL 0注意:在宏定義的命名時,盡量能夠清晰的表明其用途;
宏展開只做簡單的字符替換,不做運(yùn)算;
②定義宏函數(shù)
#define MAX(a, b) ((a)>(b)?(a):(b))k = MAX(i&0x0f, j&0x0f)k = ((i&0x0f)>(j&0x0f)?(i&0x0f):(j&0x0f))
注意:宏體與形參要拿()括起來
調(diào)用方式:(1)參數(shù)調(diào)用(2)表達(dá)式調(diào)用(3)語句調(diào)用
一般代碼量不大,無復(fù)雜結(jié)構(gòu)或頻率高且簡單的程序中定義宏函數(shù)。
缺點(diǎn):不做語法檢查;
優(yōu)點(diǎn):顯著提高代碼的執(zhí)行效率,畢竟省去了分配和釋放棧幀、傳參、傳返回值等一系列工作;
③條件編譯:
例:#define _DEBUG_
#ifndef _DEBUG_
#define debug msg(fmt,args,……)
#else
#define debug msg(fmt,arg,……) PRintf(fmt,arg,……)
#endif
預(yù)處理命令:①宏定義 ②條件編譯 ③文件包含
新聞熱點(diǎn)
疑難解答