C語言中的巨集替換

2021-10-13 19:40:16 字數 290 閱讀 2055

#define替換規則

在程式中擴充套件#define定義符號和巨集

1.在呼叫巨集時,首先對引數進行檢查,看看是否包含任何由#define定義的符號,其首先被調換

2.替換文字隨後被插入到程式中原來文字的位置,對於巨集,引數名被他們的值替換

3.最後再次對結果檔案進行掃瞄,看看它是否包含任何由#define定義的符號,若包含則重複部驟

注意:1.巨集引數和#define中可出現其它#define定義的變數,對於巨集不能出現遞迴

2.預處理器搜尋#define定義的符號時,字串常量不被搜尋

c語言中的巨集替換

define替換規則 在程式中擴充套件 define定義符號和巨集 1.在呼叫巨集時,首先對引數進行檢查,看看是否包含任何由 define定義的符號,其首先被調換 2.替換文字隨後被插入到程式中原來文字的位置,對於巨集,引數名被他們的值替換 3.最後再次對結果檔案進行掃瞄,看看它是否包含任何由 de...

C語言巨集替換

當乙個巨集引數被放進巨集體時,這個巨集引數會首先被全部展開 有例外,見下文 當展開後的巨集引數被放進巨集體時,預處理器對新展開的巨集體進行第二次掃瞄,並繼續展開。例如 define param x x define addparam x int x param addparam 1 因為addpar...

C語言中的巨集

c語言中如何使用巨集c 和c 中的巨集 macro 屬於編譯器預處理的範疇,屬於編譯期概念 而非執行期概念 下面對常遇到的巨集的使用問題做了簡單總結。在c語言的巨集中,的功能是將其後面的巨集引數進行字串化操作 stringfication 簡單說就是在對它所引用的巨集變數通過替換後在其左右各加上乙個...