首页 > 知识精选 >

define定义函数用法(define定义函数)

发布时间:2023-06-08 06:30:47来源:

关于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。

7、宏展开后该语句为: max=(x>y)?x:y;  用于计算x,y中的大数。

8、  #define 条件编译  头文件(.h)可以被头文件或C文件包含;重复包含(重复定义)由于头文件包含可以嵌套,那么C文件就有可能包含多次同一个头文件,就可能出现重复定义的问题的。

9、 通过条件编译开关来避免重复包含(重复定义)。

本文分享完毕,希望对大家有所帮助。

免责声明:本文为转载,非本网原创内容,不代表本网观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。