A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© sajiner2 中级黑马   /  2014-12-16 18:52  /  479 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

在学习【C语言】15-预处理指令1-宏定义时,看到MJ老师的博客里有这么一句:“函数调用在程序运行时执行,而宏替换只在编译预处理阶段进行。所以带参数的宏比函数具有更高的执行效率。”没想明白,为什么宏的效率会更高呢?“[size=13.63636302948px]编译预处理阶段进行”的比“程序运行时执行”的效率都高?

3 个回复

倒序浏览
看了,感觉也是很不明白啊
回复 使用道具 举报
花轮 来自手机 中级黑马 2014-12-16 20:34:24
藤椅
函数是在程序运行时才会调用,宏是在程序运行前先把他翻译成二进制
回复 使用道具 举报
我是这样认为的,采用宏定义则编译的时候已经将参数传递,这样运行的时候直接计算就可以,如果应用函数则运行的时候需要传参数,需要计算。前者的工作时分开的,后者的工作时一起的
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马