深入理解C语言——#define宏和枚举的区别

 

(1)从处理过程的角度看:

#define宏是由编译预处理器在预编译处理时处理的,而且只做简单的字符串的替换。枚举常量则是在编译的时候确定其值的。

(2)从调试的角度看:

通常情况下,在编译器里,可以调试枚举常量,而不能调试宏常量。

(3)从数据的类型看:

#define可以编译任意类型的常量,而枚举只能是定义整型常量。

(4)从代码编写角度看:

枚举可以一次定义大量常量,而#define宏只能一次定义一个。

(5)从可维护性来看:

枚举可以集中管理数据,具相同属性的整形数据可使用枚举,枚举可实现取值的自增,也可指定每个枚举的值,编写代码跟容易,相对来说能减少出错的机会,也便于代码的后期维护和修改。

(6)枚举的取值范围已经限定了,容易进行参数的检查,而define没有这种检查

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值