C语言枚举类型详解:声明、优点及使用方法
创作时间:
作者:
@小白创作中心
C语言枚举类型详解:声明、优点及使用方法
引用
CSDN
1.
https://blog.csdn.net/do_yo/article/details/146400155
2. 枚举类型
2.1 枚举类型的声明
枚举顾名思义就是一一列举。
把可能的取值一一列举。
比如我们现实生活中:
一周的星期一到星期日是有限的7天,可以一一列举
性别有:男、女、保密,也可以一一列举
月份有12个月,也可以一一列举
三原色,也是可以意义列举
这些数据的表示就可以使用枚举了。
enum Day//星期
{
Mon,
Tues,
Wed,
Thur,
Fri,
Sat,
Sun
};
enum Sex//性别
{
MALE,
FEMALE,
SECRET
};
enum Color//颜色
{
RED,
GREEN,
BLUE
};
以上定义的enum Day , enum Sex , enum Color都是枚举类型。
{}中的内容是枚举类型的可能取值,也叫 枚举常量 。
这些可能取值都是有值的,默认从0开始,依次递增1,当然在声明枚举类型的时候也可以赋初值。
enum Color//颜色
{
RED=2,
GREEN=4,
BLUE=8
};
2.2 枚举类型的优点
为什么使用枚举?
我们可以使用#define定义常量,为什么非要使用枚举?
枚举的优点:
- 增加代码的可读性和可维护性
- 和#define定义的标识符比较枚举有类型检查,更加严谨。
- 便于调试,预处理阶段会删除#define定义的符号
- 使用方便,一次可以定义多个常量
- 枚举常量是遵循作用域规则的,枚举声明在函数内,只能在函数内使用
2.3 枚举类型的使用
enum Color//颜色
{
RED=1,
GREEN=2,
BLUE=4
};
enum Color clr = GREEN;//使用枚举常量给枚举变量赋值
那是否可以拿整数给枚举变量赋值呢?在C语言中是可以的,但是在C++是不行的,C++的类型检查比较严格。
热门推荐
后仰跳投怎么发力最准(NBA百大球星绝技之乔丹的后仰跳投)
时光代理人第一季:穿梭时空的情感交织与命运抉择
都江堰问花村:春日繁花盛宴,游客纷至沓来
狂犬病疫苗对小孩有影响吗
脸上的咬肌可以通过按摩变小吗
咬肌发达怎么改善?多种方法对比分析
冬青的生长习性特点和生长环境条件
胰脏癌:成因、症状、治疗及预防全解析
海南岛徐闻深度游:全景攻略与精选路线指南
动能的物理定义和应用领域是什么?这种能量形式如何影响机械系统的运行?
冬青树的种子有什么作用,冬青树的种子有药用价值吗
自我调节学习:提升学习效率的有效策略
一甲子等于几年 六十甲子口诀顺口溜
Arthritis Res Ther:难治性类风湿关节炎的临床特征及影响因素分析
历史上的吕布:当真是三国时期的战力天花板吗?
KDJ指标的定义及其在技术分析中的应用
瑞士泥石流:如何让居民和村庄免受其害
胃食管反流的并发症有哪些 了解胃食管反流的四个并发症
比干与“七窍玲珑心”传说的探讨
比干与“七窍玲珑心”传说的探讨
植物黄酮槲皮素和金丝桃苷通过Nrf2信号通路减轻H2O2诱导的HepG2细胞
亲子照拍照秘籍:姿势、意义、注意事项一网打尽
书评|《置身事内》:当政府变"超级企业" 市场何处退守?
于正对得起红果短剧的“800万”吗?
你书我说 寻访名著中的大美江苏⑪|《金陵图》中觅旧影,老城再造绘新卷
芭比娃娃简笔画教程:从入门到完成的详细步骤
前氧传感器怎样进行更换?更换前氧传感器需要做哪些准备?
胰腺癌无法手术时,如何寻求更佳治疗方案?
WiFi的SSID是什么
北京首个!顺义基础教育领域部署DeepSeek大模型