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修飾乙個函式,則這個函...
週末的大學生活 北國的雪 新浪部落格
游泳館,大學校園,圖書館,校園周邊 今天上午早早起來到圖書館看書,看 浪潮之巔 看到了許多大公司的潮起潮落,有的被歷史淘汰,有的絕處逢生,這都要看領導人的魄力所在,要有自己獨到眼光,抓住機遇,還要開發出屬於自己公司的東西,把握住市場與尖端技術。下午和我哥一起去游泳館洗澡,他不會游泳,我會,剛下去感覺...