C语言——enum枚举类型

enum是枚举类型,实际上就是定义一组值,enum定义数据类型的值只能是这一组值中的一个。

在实际生活中,很多问题都与是这样的。如人的性别,只有男女两种;一星期有七天;月份只有十二个值。

如下定义一周七天的值:

#include <stdio.h>

typedef enum
{
    Monday,
    Tuesday,
    Wednesday,
    Thursday,
    Friday,
    Saturday,
    Sunday
}week;

int main()
{
    printf("%d %d %d %d %d %d %d
",Monday,Tuesday,Wednesday,Thursday,Friday,Saturday,Sunday);
    return 0;
}

运行结果为:0 1 2 3 4 5 6

enum枚举类型的成员都是整型常量,在定义时若不给成员赋值,则第一个成员的值为0,后面成员的值依次加1。若有一个值已初始化,则后面的成员在这个成员的值的基础上加一递增。

在外部给枚举变量赋值时,需要强制类型转换。如:week day = (week)1;

但实际中写作week day = 1; 编译器codeblocks也没有报错。

但需要注意,枚举变量的值都是整型的。

只有自己可以帮助自己
原文地址:https://www.cnblogs.com/lemonhanyu/p/5502420.html