【随写笔记】枚举、宏定义、const

本文探讨了枚举和宏定义在程序设计中的应用及区别。枚举提供了一种定义常量的有效方式,能限定取值范围并进行参数检查;而宏定义则在预编译阶段处理,无类型检查。此外,文章还对比了宏定义与const常量在内存分配和调试上的差异。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

枚举

优点:

定义出来是【常量】,可以定义多个,赋值会递推,比较方便

限定取值范围,只能取哪几种,赋值别的会报错。

枚举常量隐含类型都是整数,且最大值有限,不能表示浮点数

和宏的区别:

宏定义只能一次一个

枚举都是整型

枚举会有参数检查,取值范围在定义后就已经确定

宏定义是预编译阶段处理的,枚举是在编译的时候确定的

编译器可以调试枚举常量,但是宏定义不能调试

 

宏定义和const:

宏没有类型,不会做类型检查

define本身不占内存,用到才占,const常量会在内存中分配空间

若存在多个变量赋值(i = PI),宏定义每次都会分配内存,const相当于是字符串,所有变量都指向同一个地址。

一般编译器会把const放在符号表里,效率比较高

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值