#define宏与const修饰的常量(变量)区别

1. 作用时机
  • #define 宏:在预处理阶段(编译前)展开,只做文本替换,没有类型检查。
  • const 常量:在编译阶段生效,有类型,编译器会进行类型检查(安全)。
2. 作用域
  • #define 宏:作用域从定义位置到文件结尾,或者#undef的位置,跨多个文件时需要头文件。
  • const 常量:遵循C/C++的作用域规则(如局部、全局、类成员等)。
3. 调试
  • #define 宏:调试时看不到具体变量,只有替换结果。
  • const 常量:调试时可以看到变量名和值。
4. 内存占用
  • #define 宏:只是替换,不占用内存。
  • const 常量:可能会分配内存(但编译器有优化,尤其是用于数组大小等情况下)。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值