c 高階一 巨集定義

2021-10-03 05:20:56 字數 843 閱讀 9977

巨集定義是在編譯前進行的,預處理

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常量 變數,佔記憶體 的本質區別 下面的巨集定義...