美文网首页
c中的宏函数

c中的宏函数

作者: 动感新势力fan | 来源:发表于2016-05-10 16:29 被阅读82次

    很显然,我们不会选择用函数来完成这个任务,原因有两个:首先,函数调用会带来额外的开销,它需要开辟一片栈空间,记录返回地址,将形参压栈,从函数返回还要释放堆栈。
    这种开销不仅会降低代码效率,而且代码量也会大大增加,而使用宏定义则在代码规模和速度方面都比函数更胜一筹;其次,函数的参数必须被声明为一种特定的类型,所以它只能在类型合适的表达式上使用,我们如果要比较两个浮点型的大小,就不得不再写一个专门针对浮点型的比较函数。
    反之,上面的那个宏定义可以用于整形、长整形、单浮点型、双浮点型以及其他任何可以用“>”操作符比较值大小的类型,也就是说,宏是与类型无关的。

    define 可以多行定义 关键是要在每一个换行的时候加上一个 "\ "

    相关文章

      网友评论

          本文标题:c中的宏函数

          本文链接:https://www.haomeiwen.com/subject/cdryrttx.html