C語言的預處理命令

2022-07-20 16:00:16 字數 906 閱讀 6651

c語言編譯器處理時經過的第乙個步驟是預處理,就是從.c檔案處理為.i檔案。在預處理時編譯器做了一些展開替換的處理。

1>標頭檔案展開,即將#include "stdio.h"類似的檔案展開。

2>巨集定義的替換工作,即將程式中的巨集定義內容替換好。

#include"stdio.h"

#define r 10

int main()

經過預處理之後**變為

//...stdio.h裡的內容未展示

//巨集定義的地方已經替換到程式中

int main()

巨集定義做的替換是整體替換,和語法無關,它不遵循語法規則。

巨集定義一般兩種用法,一種是定義一種常量,另一種是定義乙個巨集函式

#define n(n,m) n+m//巨集定義

int main()

其實經過預處理之後變為

int main()

另一種應用巨集函式,因為巨集定義不會考慮語法,它只是作整體代換,所以可以寫出不考慮變數型別的函式,這一點是他的優點

舉例說明,如下**:

#define n(n,m) n+m//巨集定義

int main()

3>條件編譯:有些語句希望在條件滿足時才編譯。

#ifdef 識別符號

//程式段1

#else

//程式段2

#endif

當識別符號已經定義時,程式段1才參加編譯

在其使用時和define一樣也是做了乙個替換工作。

C語言 預處理命令

我們可以在c源程式中插入傳給編譯程式的各中指令,這些指令被稱為預處理器指令,它們擴充了程式設計的環境。現把常用的預處理命令總結如下 1.預處理程式 按照ansi標準的定義,預處理程式應該處理以下指令 if ifdef ifndef else elif endif define undef line ...

C語言 預處理命令

一 巨集定義 在 語言源程式中允許用乙個識別符號來表示乙個字串,稱為 巨集 被定義為 巨集 的識別符號稱為 巨集名 在編譯預處理時,對程式中所有出現的 巨集名 都用巨集定義中的字串去代換,這稱為 巨集代換 或 巨集展開 巨集定義是由源程式中的巨集定義命令完成的。巨集代換是由預處理程式自動完成的。在 ...

C語言預處理命令

以 開頭的預處理命令。如 include,巨集定義命令 define pi 3.1415926等。在源程式中這些命令都放在函式之外,而且一般放在原始檔前面,它們稱為預處理部分。無參巨集定義 無參巨集的巨集名後不帶引數。其定義的一般形式為 define 識別符號 字串 其中的 表示這是一條預處理命令,...