带参数的宏和带参数的函数很相似,但是有本质的区别。 见下面例子,、 程序如下 仿真电路图如下 运行结果如下 1、函数调用时要把实参表达式的值求出来再赋予形参,而宏代换中只对实参表达式不做计算而直接原样代换。 2、带参宏的使用会使具有同一作用的代码块在目标文件中存在多个副本,即会增加目标文件的大小。而函数在目标文件中只存在一处,比较节省程序空间。 3、宏进行定义时不会考虑参数的类型。函数的形参则要求确定参数的类型。 4、函数的参数存在存在值传递和指针传递,带参数的宏则不存在该问题。 |
|
来自: thchen0103 > 《c语言学习资料》