谁能给我讲讲C语言中的枚举是什么意思啊!我不大懂,
来源:学生作业帮 编辑:灵鹊做题网作业帮 分类:综合作业 时间:2024/06/24 10:02:03
谁能给我讲讲C语言中的枚举是什么意思啊!我不大懂,
![谁能给我讲讲C语言中的枚举是什么意思啊!我不大懂,](/uploads/image/z/15173642-2-2.jpg?t=%E8%B0%81%E8%83%BD%E7%BB%99%E6%88%91%E8%AE%B2%E8%AE%B2C%E8%AF%AD%E8%A8%80%E4%B8%AD%E7%9A%84%E6%9E%9A%E4%B8%BE%E6%98%AF%E4%BB%80%E4%B9%88%E6%84%8F%E6%80%9D%E5%95%8A%21%E6%88%91%E4%B8%8D%E5%A4%A7%E6%87%82%2C)
枚举的主要目的,我觉得就是使代码的可读性更好.如果没有枚举,其所要实现的功能也可以通过其它方式实现.
enum 枚举名{枚举值1,枚举值2,枚举值3,.}
枚举值本身就是一个符号,但是它又有一个int值的属性.可以看看书,就不多说了.枚举值就是一些命名,通过其命名就能知道其真正的意义.
比如一个扑克牌花色的枚举类型
enum color{heart,spade,diamond,club}
你也可以自己默认用0表示heart,1表示spade,2表示diamond,3表示club.在判断花色时,
if(color==0).
else if(color==1).
else if(color==2)...
else...
这样,阅读性很差,你根本无法通过这些数字判断出来时什么花色,可能要开相关的文档.非常不利于排查错误和后期的维护.
你也可以使用define定义
#define heart 0
#define spade 1
#define diamond 2
#define club 3
但是这么多个define明显是不必要的,enum就不让你写这么多define了
访问枚举变量就用枚举名.枚举值
这样在程序的其它地方出现color.heart 时,你可以很清楚是牌的花色是红桃
enum 枚举名{枚举值1,枚举值2,枚举值3,.}
枚举值本身就是一个符号,但是它又有一个int值的属性.可以看看书,就不多说了.枚举值就是一些命名,通过其命名就能知道其真正的意义.
比如一个扑克牌花色的枚举类型
enum color{heart,spade,diamond,club}
你也可以自己默认用0表示heart,1表示spade,2表示diamond,3表示club.在判断花色时,
if(color==0).
else if(color==1).
else if(color==2)...
else...
这样,阅读性很差,你根本无法通过这些数字判断出来时什么花色,可能要开相关的文档.非常不利于排查错误和后期的维护.
你也可以使用define定义
#define heart 0
#define spade 1
#define diamond 2
#define club 3
但是这么多个define明显是不必要的,enum就不让你写这么多define了
访问枚举变量就用枚举名.枚举值
这样在程序的其它地方出现color.heart 时,你可以很清楚是牌的花色是红桃