枚举类型
  bgxXjYYEVSxV 2024年04月04日 54 0

枚举类型

1. 定义

枚举是用来代表整数常量的符号

默认形式:

enum 枚举名 {枚举元素, ...};

2. 枚举元素的值

2.1 默认

枚举元素的值,默认从0开始,逐项+1

// 从SUNDAY开始,值分别是0,1,……,6
enum DAY {SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY,FRIDAY, SATURDAY};

2.2 全部赋值

// 枚举元素的值以赋值结果为准
enum DAY {
    SUNDAY = 20, 
    MONDAY = 30, 
    TUESDAY = 100, 
    WEDNESDAY = 1024, 
    THURSDAY = 580,
    FRIDAY = 699, 
    SATURDAY = 21
};

2.3 部分赋值

与默认情况相同,在枚举元素无赋值的情况下,值默认为上一枚举元素的值+1,首个枚举元素的值默认为0。

// SUNDAY = 0,TUESDAY = 31,WEDNESDAY = 32
// 其余枚举元素的值以赋值结果2为准
enum DAY {
    SUNDAY, 
    MONDAY = 30, 
    TUESDAY, 
    WEDNESDAY, 
    THURSDAY = 580,
    FRIDAY = 699, 
    SATURDAY = 21
};

3. 枚举变量的定义方式

3.1 先定义枚举类型,再定义枚举变量

// 定义枚举类型
enum DAY {
    SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY
}; 
// 定义枚举变量
enum DAY day;

3.2 同时定义枚举类型和枚举变量

enum DAY {
    SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY
} day; // 已经完成了对于枚举变量day的定义

3.3 忽略枚举名,直接定义枚举变量

enum {
    SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY
} day; // 仅定义了枚举变量day

3.4 结合typedef关键字

使用typedef关键字,创建了一个新的类型名,简化了enum类型的声明,无需再写enum

typedef enum {
    SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY
} DAY;
DAY today = WEDNESDAY; // 无需写成enum DAY day;

4. 总结

  1. 例子中各枚举元素的值分别是多少?
enum day {
    SUNDAY, 
    MONDAY = 30, 
    TUESDAY, 
    WEDNESDAY, 
    THURSDAY = 580,
    FRIDAY = 699, 
    SATURDAY = 21
};
  1. 请说明枚举类型4种定义方式,并举出具体的例子。
【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2024年04月04日 0

暂无评论

推荐阅读
  H5oyQecqjP4R   21天前   34   0   0 C语言
  fHBiUfJyY67V   17天前   16   0   0 C语言
  V88gxnVgnp1F   5天前   32   0   0 C语言
  o1ZcTI9mJsxK   5天前   40   0   0 C语言
  TfjjLvnv5b8J   22天前   19   0   0 C语言
bgxXjYYEVSxV