您的位置:首页 > 编程语言 > C语言/C++

c语言中,宏和函数的区别

2015-11-16 17:05 363 查看
一、代码长度:宏是完全替换,插入到程序里使得代码变长;
函数代码是只出现在一个地方,使用时则去那里调用。

二、执行速度:宏更快一些,因为在预编译阶段都已完成;
函数则慢一点,因为需要调用以及返回(压栈/出栈)额外时间。

三、操作符优先级:宏有时要少加括号而导致计算逻辑出错;
函数最后只将值返回来,结果容易预测。

四、参数求值:宏每次都要计算;
函数只需要计算一次,之后多次调用并不会导致多次求值而出错。

五、参数类型:宏不关心类型,只要参数操作合法就可以;
函数类型要一致,不同类型则需要不同函数。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  宏和函数的区别