define定義函數 define定義宏


define定義函數 define定義宏

文章插圖
大家好,小跳來為大家解答以上的問題 。define定義宏,define定義函數這個很多人還不知道,現在讓我們一起來看看吧!
1、c語言允許宏帶有參數 。
2、在宏定義中的參數稱為形式參數,在宏調用中的參數稱為實際參數 。
3、對帶參數的宏,在調用中,不僅要宏展開,而且要用實參去代換形參 。
4、帶參宏定義的一般形式為:#define 宏名(形參表) 字符串在字符串中含有各個形參 。
5、 帶參宏調用的一般形式為:宏名(形參表)例如:#defineM(y)((y)*(y)+3*(y))/*宏定義*/k=M(5);/*宏調用*/在宏調用時 , 用實參5去代替形參y,經預處理宏展開后的語句為:k=5*5+3*5程序2://#include#include#define MAX(a,b)((a>b)?(a):(b))intmain(intargc,char*argv[]){intx,y,max;printf("inputtwonumbers:");scanf("%d%d",&x,&y);max=MAX(x,y);printf("max=%d",max);return0;}上例程序的第一行進行帶參宏定義,用宏名MAX表示條件表達式 (a>b)?a:b,形參a,b均出現在條件表達式中 。
6、程序中 max=MAX(x,y) 為宏調用,實參x,y,將代換形參a,b 。
【define定義函數 define定義宏】7、宏展開后該語句為: max=(x>y)?x:y;用于計算x,y中的大數 。
8、#define 條件編譯頭文件(.h)可以被頭文件或C文件包含;重復包含(重復定義)由于頭文件包含可以嵌套,那么C文件就有可能包含多次同一個頭文件 , 就可能出現重復定義的問題的 。
9、 通過條件編譯開關來避免重復包含(重復定義) 。
本文到此分享完畢 , 希望對大家有所幫助 。