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、 通过条件编译开关来避免重复包含(重复定义) 。
本文到此分享完毕 , 希望对大家有所帮助 。