C 语言 枚举类型 enum

定义一种新的数据类型 – 枚举型

enum DAY {
      MON=1, TUE, WED, THU, FRI, SAT, SUN
};

(1) 枚举型是一个集合,集合中的元素 (枚举成员) 是一些命名的整型常量,元素之间用逗号, 隔开。

(2) DAY 是一个标识符,可以看成这个集合的名字,是一个可选项。

(3) 第一个枚举成员的默认值为整型的 0,后续枚举成员的值在前一个成员上加 1。

(4) 类型定义以分号; 结束。

使用枚举类型对变量进行声明

// 方法一:枚举类型的定义和变量的声明分开
enum DAY {
      MON=1, TUE, WED, THU, FRI, SAT, SUN
};
enum DAY yesterday;
enum DAY today;

// 方法二:类型定义与变量声明同时进行
enum // 跟第一个定义不同的是,此处的标号 DAY 省略,这是允许的。
{
    saturday,
    sunday = 0,
    monday,
    tuesday,
    wednesday,
    thursday,
    friday
} workday; // 变量 workday 的类型为枚举型 enum DAY

// 方法三:用 typedef 关键字将枚举类型定义成别名,并利用该别名进行变量声明
typedef enum workday //workday 可以省略
{
    saturday,
    sunday = 0,
    monday,
    tuesday,
    wednesday,
    thursday,
    friday
} workday; // 此处的 workday 为枚举型 enum workday 的别名

workday today;

注意事项

同一程序中声明的两个 enum 不能有相同的成员名。

参考

http://www.cnblogs.com/JCSU/articles/1299051.html

发布者

胡中元

《中原驿站》站长

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注