c高階預處理

2021-07-13 18:49:49 字數 532 閱讀 7064

6/13/2016 11:17:27 pm

必須放在每行開頭,因此在原始檔中一行只能有一條預處理命令;

但是一條預處理指令可以放在多行,只需要在每行結尾新增 \ 即可。

巨集定義不是宣告或者語句,行末沒有分號;

巨集定義從定義處直到程式結束,如需提前結束,使用#undef來取消;

巨集名在程式中使用雙引號括起來,則預處理不替換;

對輸出格式使用巨集定義,可以減少麻煩;

巨集名和引數之間不能空格;

#define max(a,b) ((a)>(b)?(a):(b))

形參不分配記憶體空間;不用型別定義;

形參只是識別符號,呼叫時實參可能是表示式,因此需要將形參用括號括起來,如1所示;

max = max((a+2), (b-3));

定義時,最好將整個巨集定義式子用括號括起來;如1中所示。

加括號的目的是為了防止運算子的優先順序導致意料之外的錯誤

C 高階篇(五) 預處理指令

預處理指令是我們寫在程式 中的給預處理器 preprocessor 的 命令,而不是程式本身的語句。預處理器在我們編譯乙個c 程式時由編譯器自動執行,它負責控制對程式 的第一次驗證和消化。所有這些指令必須寫在單獨的一行中,它們不需要加結尾的分號 在這個教程的開頭我們已經提到了一種預處理指令 defi...

c 預處理和預處理命令

預處理發生在編譯之前,預處理輸出的是乙個單一的檔案,這個檔案被送到編譯器,進行編譯。每條預處理命令都控制預處理器的行為。每條預處理命令佔據一行,有以下的格式 character 預處理命令 one of define,undef,include,if,ifdef,ifndef,else,elif,e...

C 預處理命令

c 提供的預處理功能 巨集定義 檔案包含和條件編譯 分別由巨集定義命令 檔案包含命令和條件編譯命令三種預處理命令來實現。預處理命令 格 式 預處理命令 末尾不加分號 作用域 從定義點到程式結束 說 明 預處理命令獨佔一行,位置任意 巨集定義命令 格 式 define 巨集名 形參 巨集體 undef...