首页 > 其他分享 >宏

时间:2023-02-27 18:56:37浏览次数:18  
标签: 调用 函数 int 代码 参数 define

使用关键字define 定义就叫宏。例如:

#define PI 3.14 (宏定义)

  在预处理阶段,使用3.14替换所有出现 PI 的位置(宏展开)

  注意:宏后面不要加分号

  建议宏尽量用大写字母,用于和普通变量分开

  宏的作用范围是从宏定义处开始到当前文件结束都有效(#undef可以结束宏)

  宏没有归属(不属于函数、结构体),只在当前源文件有效

不带参数的宏

  例如:

 

 带参数的宏

  例如:

 

   宏的参数不能有类型

    例如:#define MY_MUL(int a, int b) a*b     //error

  宏不能保证参数的完整性

    如果想保证一定的完整性,可以使用 () 的形式

 

  宏不能作为结构体、类的成员

带参数的宏(宏函数)和带参函数的区别

  带参宏被调用多少次就会展开多少次,执行代码的时候没有函数调用的过程,不需要压栈弹栈。所以带参宏是浪费了空间,节约了时间(以空间换时间)

  带参函数,代码只有一份,存在代码区,调用的时候区代码区取指令,调用的时候要压栈弹栈。所以是节约了空间,浪费了时间(时间换空间)

  带参函数的形参有类型,带参宏的参数没有类型

 

标签:,调用,函数,int,代码,参数,define
From: https://www.cnblogs.com/yachifeng/p/17161471.html

相关文章