c語言學習--巨集的預處理
條件預處理
示例:比如在開發是使用同一套**實現debuger與releases版本的開發
可使用條件來完成開發
*****************************
#include main ()
我們可以實現通過在檔案頭部加入
#define debug
來實現編譯debuger版本。
或者可以在編譯時使用 gcc -d
gcc -d debug main.c
可以更好的實現一套原始碼兩個版本。
巨集的展開
使用巨集可以使我們的**更加優雅。
乙個#表示的是將定義的內容變為string型別的字串,而兩#直接將內容變為**。
示例:字串化:
#define x(a) #a
int main ()
=== 輸出結果===
go!連線符號
#define x(a) arr##a
int main ()
=== 輸出結果===
5900
C語言 巨集定義,預處理巨集
巨集是學習任何語言所不可缺少的,優秀的巨集定義可以使得 變得很簡潔且高效,有效地提高程式設計效率。巨集是一種預處理指令,它提供了一種機制,可以用來替換源 中的字串,直譯器或編譯器在遇到巨集時會自動進行這一模式替換 c語言有簡單的巨集系統,由編譯器或彙編器的預處理器實現。c的巨集預處理器的工作只是簡單...
c語言預處理 巨集定義
個人筆記 巨集定義對於用c語言程式設計的人是經常用,這裡只講使用中需注意的問題點和方便的用法。1.巨集擴充套件中空格對擴充套件結果的影響 define a y a expanded y a x 被擴充套件為 a expanded x define a y a expanded y a x 被擴充套件...
c語言中的預處理(1)
剛接觸c語言的人都知道,每次主程式開始前都得寫乙個 include。但是卻不知道為什麼非要加這個東西,學了一段時間後,似乎會明白一點,但還是稀里糊塗的,在這裡,我們就把這玩意兒抽絲剝繭弄個明白。在c語言裡,有一種非常有用而又必不可少的部分,叫做預處理,說道這兒有人就笑了,不就是 include和 d...