C语言中的带参宏和带参函数的区别
- 相关推荐
-
![C语言中的带参宏和带参函数的区别](https://200zi.50zi.cn/uploadfile/img/15/295/e606550d4aa67473788e99ea814f2fbd.jpg)
C语言中的带参宏和带参函数的区别
(1) 带参函数中的形参是变量,因此有类型检查。而带参宏只是简单的字符串替换。
(2) 从程序执行的过程来看,带参宏是在预处理阶段被预处理器处理的。而带参函数是在程序执行的过程中被处理。
(3) 带参宏比带参函数执行快。因为带参函数在被调用时需要保护现场,而在函数返回时需要恢复现场;带参宏仅仅是简单字符串的替换,存在边界问题,因此要尽量给变量加括号。
(4) 带参宏不占用内存,因为带参宏在编译之前已经被替换掉了。而带参函数在程序调用和返回的时候需要进行压栈和出栈操作,需要额外的系统开销。
本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。