巨集定義是在編譯前進行的,預處理
1,基本語法
#define a 1
令**中的符號a全都替換為1
#define use_def
#ifdef use_def
printf
("use_def"
)#endif
ifdef 與endif的使用
2,常考題
有參巨集定義的使用
#define fun(a) (a*a)
int c=
fun(3+
2)問此時的c的值為?
正確答案:3+
2*3+
2=11因為巨集定義 只是簡單的符號替換
有參巨集定義#的用法:
#用於把巨集定義中的引數兩端加上字串的""
#define str(str) #str
printf
(str
(asd)
)輸出為:"asd"
有參巨集定義##的用法:
將引數前面加上##前面的字元
#define wide(str) l##str
則會將形參str的前面加上l
比如:wide
("abc"
)就會被替換成l"abc"
如果有#define fun
(a,b) vo##a##b()
那麼fun
(id ma,in)會被替換成void
main
()
C 巨集定義 巨集定義求面積
學過c語言的讀者,對巨集定義應該不陌生,同樣在c 中,也可以用巨集定義命令將乙個指定的識別符號來代表乙個字串,巨集定義的作用一般是用乙個短的名字代表乙個長的字串。一般形式為 define 識別符號 字串定義pi的符號常量 define pi 3.14在c 中還可以用 define命令定義帶引數的巨集...
C語言巨集定義和巨集定義函式
c語言巨集定義和巨集定義函式 巨集定義可以幫助我們防止出錯,提高 的可移植性和可讀性等。在軟體開發過程中,經常有一些常用或者通用的功能或者 段,這些功能既可以寫成函式,也可以封裝成為巨集定義。那麼究竟是用函式好,還是巨集定義好?這就要求我們對二者進行合理的取捨。我們來看乙個例子,比較兩個數或者表示式...
C語言高階 21 巨集定義與使用分析
define是預處理器處理的單元實體之一 define定義的巨集可以出現在程式的任意位置 define定義之後的 都可以使用這個巨集。define定義的巨集常量可以直接使用 define定義的巨集常量本質為字面量 不占用記憶體 唯讀儲存區 和const常量 變數,佔記憶體 的本質區別 下面的巨集定義...