C 语言基础-宏定义(浅谈有参和无参宏定义,宏函数与普通函数的区别)

C 语言基础-#define

#define是以"#"号开头的预处理指令,它是定义标识符,称呼有很多如:宏定义、宏替换、宏展开。

  • 在预编译阶段起作用
  • 单纯进行文本替换,没有类型,不做类型检查,也不能进行调试
  • 只是代码的展开操作,不分配内存,占的是test段(代码段)空间
  • 宏调用时,需要程序设计者自行确保宏调用参数的类型正确。
  • 过多的使用宏定义,会增加代码长度,会使二进制文件变大,会增加编译时间
  • 宏定义允许嵌套宏定义

主要功能:

  • 可以用来定义常量
  • 可以用来定义表达式,拆行用 \
  • 可以用来定义函数代码块,拆行用 \

主要分为:

  • 有参宏定义:有参宏的宏名后带参数。
  • 无参宏定义:无参宏的宏名后不带参数。

使用时注意:

  • 预处理指令:不是说明或语句,所以宏定义时,在行末不必加分号,如果加上分号则预编译时会连分号也一起置换
  • 必须宏定义在函数之外,其作用域为宏定义命令起到源程序结束。
  • 一般建议宏名用大写字母表示,以便于与变量区别,就看个人喜好啦。

无参宏定义

无参宏的宏名后不带参数。

  • 定义格式:#define 标识符 XXXXXX 可以
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值