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