宏定义选择题
请问:在程序中,宏定义和函数的区别()A,宏定义节省省了存储空间,函数消耗了时间
B,宏定义消耗了存储空间,函数消耗了时间.
答案:B
为什么不选A?
朋友们帮我解决问题啊,不懂的题目想弄明白好着急啊
宏定义消耗了存储空间,函数消耗了时间.
请详看一下宏的调用机制:宏的调用,采用的是字符串拷贝代换的方式调用的.当你现在调用某个宏时,它按字符串方式拷贝过去.所以耗空间.
而函数的调用,是找到了函数的地址,即,不进行函数代码的复制(类的内联函数除外),所以它在寻址,建堆栈等上面花时间.
可是拷贝过去的是常量,系统不是不给常量分配内存吗?