[c] ★ 宏和函数的区别
2015-10-28 22:03
246 查看
属性 | #define宏 | 函数 |
代码长度 | 每次使用时,宏代码都被插入到程序中,除了非常小的宏之外,程序的长度将大幅度增长 | 函数代码只出现与一个地方,每次使用这个函数时,都调用那个函数的同一份代码 |
执行速度 | 更快 | 存在函数调用 |
操作符优先级 | 宏参数的求值要多加括号,不然会出现不可预测的结果 | 函数参数在调用时使用一次,表达式的求值结果更容易预测 |
参数求值 | 每次调用宏时,都会重新求值,会出现不可预测的结果 | 参数在调用时只求值一次,可预测 |
参数类型 | 可适用于任何类型 | 函数的参数与类型有关,类型不用就要使用不同的参数 |
相关文章推荐
- TOJ 1547. To and Fro【栈和队列】
- AndroidMusicPlayer
- c++继承中的内存布局(转)
- WebForm网站和MVC网站运行机制的区别
- Java:网络编程之IP、URL
- SurfaceView的绘图机制
- Third scrum meeting - 2015/10/28
- 自定义圆形图片
- github使用
- 网络下的数据传输之XML数据的解析
- $(window).load(function() {})和$(document).ready(function(){})的区别
- Fibonacci(斐波纳契)数列各种优化解法
- iOS-字典转模型(单模型)的实现
- 算法性能评估-时间复杂度
- 关于js 函数传递引用参数理解
- 在刷新或者浏览器关闭的时候来提示是否继续操作
- LeetCode -- Single Number
- MySQL 存储过程
- iOS & Objective-C UIScrollView 图片缩放+居中
- Eclipse汉化