Offer 驾到,掘友接招!我正在参与2022春招打卡活动,点击查看活动详情。
枚举
如果一个变量只有几种可能的值,可以把它定义成枚举类型。所谓“枚举”,顾名思义,就是把这种类型数据可取的值一一列举出来。一个枚举型变量取值仅限于列出值的范围。
例如,定义一个枚举类型weekday:
enum weekday{Mon,Tue,Wed,Thu,Fri,Sat,Sun};
然后定义一个枚举类型变量today:
enum weekday today;
此后,today这个变量就只能取Mon,Tue,Wed,Thu,Fri,Sat,Sun的某一个值了。
我们可以让today等于Mon:
today=Mon;
也可以判断today是否等于Mon:
if(today==Mon)
...
实际上,C编译对枚举元素实际上按整型常量处理,当遇到枚举元素列表时,编译程序就把其中第一个标识符赋0值,第二、三、…个标识符依此赋1,2,…。
就是这样:
也可以在定义枚举类型的时候,自己指定枚举元素的值:
enum weekday{Mon=1,Tue=2,Wed=3,Thu=4,Fri=5,Sat=6,Sun=7};
那枚举类型有什么用呢?
至少有两个作用:
一是增加程序的可读性;
二是限制了变量取值范围,一旦发生不能预见的错误,使变量超出限定范围,系统会自动报错,有利于我们寻找错误。