C语言--枚举类型enum

枚举
描述固定状态,如:一周七天、天气预报等等。

enum 标识符
{
	成员1,
	成员2,
	...
};

注意花括号内是逗号、花括号外分号不能丢。
如果枚举成员没有赋值,那么默认值是从0一直往下排的。比如,成员1的值是0、成员2的值是1,依此类推。

#include <stdio.h>

enum day
{
    MON,
    TUS,
    THR,
    WES,
    FRI,
    SAT,
    SUN
};
//定义变量的方式有多种,和结构体一致。

int main()
{
    enum day a = MON;
    printf("MON is %d.\n", a);

    enum day b = TUS;
    printf("TUS is %d.\n", b);

    return 0;
}

运行结果如下:
在这里插入图片描述
如果是下面这种情况:

#include <stdio.h>

enum day
{
    MON = 1,
    TUS,
    THR,
    WES = 1,
    FRI,
    SAT,
    SUN
};
//定义变量的方式有多种,和结构体一致。

int main()
{
    enum day a = MON;
    printf("MON is %d.\n", a);

    enum day b = TUS;
    printf("TUS is %d.\n", b);

    //重新往下排
    enum day c = WES;
    printf("WES is %d.\n", a);

    enum day d = FRI;
    printf("FRI is %d.\n", b);

    return 0;
}

运行结果如下:
在这里插入图片描述
应用:可以当做一连串的宏来使用。(在状态机编程中使用、在case语句中使用)

//定义有限状态机中可能出现的状态
enum
{
    STATE_R=1,
    STATE_W,
    STATE_Ex,
    STATE_T,
};
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

xuechanba

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

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

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

打赏作者

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

抵扣说明:

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

余额充值