复杂数据类型 枚举类型

250 阅读1分钟

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};

那枚举类型有什么用呢?

至少有两个作用:

一是增加程序的可读性;

二是限制了变量取值范围,一旦发生不能预见的错误,使变量超出限定范围,系统会自动报错,有利于我们寻找错误。