前言:
现在朋友们对“c语言参数宏”大致比较关注,兄弟们都想要了解一些“c语言参数宏”的相关内容。那么小编也在网摘上搜集了一些有关“c语言参数宏””的相关内容,希望小伙伴们能喜欢,看官们快快来了解一下吧!C语言允许宏带有参数。在宏定义中的参数称为形式参数,在宏调用中的参数称为实际参数。
在调用带参数的宏时,不仅要将宏展开,而且要用实参去代替形参。
带参宏定义的一般形式如下:
#define 宏名(形参表) 字符串
字符串中可以含有多个形参。
带参宏调用的一般形式如下:
宏名(实参表);
例如:
宏定义
#define MACRO(x) x*5+x*x
宏调用
p=MACRO(2);
带参宏定义实例
源程序
仿真电路图
运行效果图
说明
1、带参宏定义中,宏名和形参之间不能有空格。
2、带参宏定义中,形参不分配内存单元,因此不必做类型定义,而宏调用中的实参有具体的值,要用它们去代换形参,因此必须做类型说明。
3、带参宏定义中传递的形参是标识符,而宏调用中的实参可以是表达式。
例如
源程序
仿真电路图
运行效果图
4、在宏定义中,字符串内的形参通常要用括号括起来以避免出错。
例如下面的例子
源程序
仿真电路图
运行效果图
5、即使在参数两边加括号还是不够的,应在宏定义中的整个字符串外加括号。
标签: #c语言参数宏