复杂数据类型 枚举类型

枚举

如果一个变量只有几种可能的值,可以把它定义成枚举类型。所谓“枚举”,顾名思义,就是把这种类型数据可取的值一一列举出来。一个枚举型变量取值仅限于列出值的范围。

例如,定义一个枚举类型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)
...

例子

#include <iostream>

enum Weekday {
    MONDAY,
    TUESDAY,
    WEDNESDAY,
    THURSDAY,
    FRIDAY,
    SATURDAY,
    SUNDAY
};

int main() {
    Weekday today = WEDNESDAY;
    std::cout << "Today is ";
    switch(today) {
        case MONDAY:
            std::cout << "Monday";
            break;
        case TUESDAY:
            std::cout << "Tuesday";
            break;
        case WEDNESDAY:
            std::cout << "Wednesday";
            break;
        case THURSDAY:
            std::cout << "Thursday";
            break;
        case FRIDAY:
            std::cout << "Friday";
            break;
        case SATURDAY:
            std::cout << "Saturday";
            break;
        case SUNDAY:
            std::cout << "Sunday";
            break;
    }
    std::cout << std::endl;
    return 0;
}

实际上,C编译对枚举元素实际上按整型常量处理,当遇到枚举元素列表时,编译程序就把其中第一个标识符赋0值,第二、三、…个标识符依此赋1,2,…。

就是这样:

 也可以在定义枚举类型的时候,自己指定枚举元素的值:

enum weekday{Mon=1,Tue=2,Wed=3,Thu=4,Fri=5,Sat=6,Sun=7};

那枚举类型有什么用呢?

至少有两个作用:

一是增加程序的可读性;

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

MaolinYe(叶茂林)

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值