Var*_*ani 24
好处
缺点
Ale*_*lev 20
基本区别在于编译函数并预处理宏.当您使用函数调用时,它将被转换为ASM CALL,所有这些堆栈操作都传递参数和返回值.当您使用MACRO时,C预处理器将使用宏转换所有字符串而不是编译.
减少使用宏是因为它们隐藏了实现.如果有一个bug,它更难找到bug.
Jim*_*ies 11
在C(和C++)中,宏是预处理器指令.这意味着在程序开始编译之前,它将遍历并处理所有宏.宏很有用,因为
Disdvatages
例
#define INCREMENT(x) x++
Run Code Online (Sandbox Code Playgroud)
函数是一段代码,可以相对独立地执行并执行特定任务.您可以将其视为一种数学函数:给定一组输入的函数将给出特定的输出.在C中,这些被定义为
<return type> <name>(<parameters>)
{
//code body
}
Run Code Online (Sandbox Code Playgroud)