带参宏定义与函数的区别

  1. 函数调用时,会先计算参数中表达式的值,但是宏只会做内容替换,不会计算
  2. 函数调用时在程序运行时进行的,宏展开是在编译阶段执行的
  3. 宏的参数是没有类型的,只是一个符号
  4. 宏每展开一次,源代码就会增多一次(因为在编译的时候进行了替换)。函数调用不会有这个问题
  5. 宏展开只占用编译时间,函数调用占用运行时间(分配内存,传递参数,执行函数体,返回值等)
posted @ 2024-01-31 21:27  wenli7363  阅读(27)  评论(0编辑  收藏  举报