帶參巨集的定義 百度的 北國的雪 新浪部落格

2021-10-10 12:10:29 字數 623 閱讀 6819

c語言

允許巨集帶有引數。

在巨集定義中的引數稱為形式引數,在巨集呼叫中的引數稱為實際引數。對帶引數的巨集,

在呼叫中,不僅要巨集展開,而且要用實參去代換形參。  

帶參巨集定義的一般形式為:

#define  巨集名(形參)   表示式

在表示式中含有各個形參。

帶參巨集呼叫的一般形式為:

巨集名(形參)

例如:

#define m(y) ((y)*(y)+3*(y))  

....   

k=m(5);  

....   

在巨集呼叫時,用實參5去代替形參y,經預處理巨集展開後的語句為:  k=5*5+3*5   

程式2:  

#define max(a,b) (a>b)?a:b   

main()

上例程式的第一行進行帶參巨集定義,用巨集名max表示條件表示式(a>b)?a:b,

形參a,b均出現在條件表示式中。程式第七行max=max(x,y)為巨集呼叫,實參x,y,

將代換形參a,b。

巨集展開後該語句為:   

max=(x>y)?x:y;   

用於計算x,y中的大數。

帶參巨集定義的思考

帶有引數的巨集定義 巨集定義是一種替換,所以返回的通常是帶有運算子表示式.不能返回語句.通常用的一些運算子 三目運算子 代替if語句 特殊建議 為了保證準確性,在 中放入變數 下面是一些巨集定義的例子 1,判斷字元是不是10進 值的 數字 define decchk c c 0 c 9 2,判斷字元...

static靜態變數用法 北國的雪 新浪部落格

第一 在修飾變數的時候,static修飾的靜態區域性變數只執行一次,而且延長了區域性變數的生命週期,直到程式執行結束以後才釋放。第二 static修飾全域性變數的時候,這個全域性變數只能在本檔案中訪問,不能在其它檔案中訪問,即便是extern外部宣告也不可以。第三 static修飾乙個函式,則這個函...

週末的大學生活 北國的雪 新浪部落格

游泳館,大學校園,圖書館,校園周邊 今天上午早早起來到圖書館看書,看 浪潮之巔 看到了許多大公司的潮起潮落,有的被歷史淘汰,有的絕處逢生,這都要看領導人的魄力所在,要有自己獨到眼光,抓住機遇,還要開發出屬於自己公司的東西,把握住市場與尖端技術。下午和我哥一起去游泳館洗澡,他不會游泳,我會,剛下去感覺...