下列叙述中正确的是(28)。

admin2009-02-15  43

问题 下列叙述中正确的是(28)。

选项 A、在带参的宏定义中,形式参数是变量
B、在带参的宏定义中,形式参数是常量
C、宏替换不占用运行时间
D、在带参的宏定义中,要定义其形式参数的类型

答案C

解析 带参的宏定义与函数类似。如果我们把宏定义时出现的参数视为形参,而在程序小引用宏定义时出现的参数视为实参。虽然带参数的宏定义和带参数的函数很相似,但它们还是有本质上的区别:
   1.在带参的宏定义中,形式参数不是变量,只是一个符号,不分配内存单元,不必定义其形式参数的类型。发生宏“调用”时,只是将实参替换形参。而在函数中,形参和实参是完全独立的变量,它们均有自己的作用域。当调用发生时,实参传递给形参的过程(值传递或引用传递)完全不同于简单的宏替换。
   2.在宏定义中的形参是标识符,而宏调用中的实参可以是表达式。
   3.从发生的时间来说,宏“调用”是在编译时发生的,函数调用是在程序运行时发生的;宏“调用”不存在内存单元分配的问题,而函数调用时,会给形参变量分配内存单元,然后复制实参的值,函数调用结束后,形参变量占用的内存单元被释放。
转载请注明原文地址:https://kaotiyun.com/show/NLxZ777K
0

相关试题推荐
最新回复(0)