[开发资料] 枚举类型讲解

[复制链接]
1143|9
 楼主| szt1993 发表于 2024-4-7 19:25 | 显示全部楼层 |阅读模式


枚举是一个基本的数据类型,它可以让数据更简洁。

如果写一个判断星期的文章,我们当然可以使用宏定义来使代码更加易懂,不过:

  1. #define MON 1
  2. #define TUE 2
  3. #define WED 3
  4. #define THU 4
  5. #define FRI 5
  6. #define SAT 6
  7. #define SUN 7
  8. 这样的写法有点费键盘。那么枚举就简单多了:

  9. enum DAY
  10. {
  11.       MON=1, TUE, WED, THU, FRI, SAT, SUN
  12. };


**注意:**第一个枚举成员的默认值为整型的 0,后续枚举成员的值在前一个成员上加 1。我们在这个实例中把第一个枚举成员的值定义为 1,第二个就为 2,以此类推。


枚举变量的定义和声明方法和共用体一样,也可以省略枚举名,直接声明变量名。

  1. //Example 06
  2. #include <stdio.h>
  3. #include <stdlib.h>

  4. int main()
  5. {

  6.     enum color { red = 1, green, blue };

  7.     enum  color favorite_color;

  8.     printf("请输入你喜欢的颜色: (1. red, 2. green, 3. blue): ");
  9.     scanf("%d", &favorite_color);

  10.     //输出结果
  11.     switch (favorite_color)
  12.     {
  13.     case red:
  14.         printf("你喜欢的颜色是红色");
  15.         break;
  16.     case green:
  17.         printf("你喜欢的颜色是绿色");
  18.         break;
  19.     case blue:
  20.         printf("你喜欢的颜色是蓝色");
  21.         break;
  22.     default:
  23.         printf("你没有选择你喜欢的颜色");
  24.     }

  25.     return 0;
  26. }

执行结果如下:

  1. //Consequence 06

  2. 请输入你喜欢的颜色: (1. red, 2. green, 3. blue): 3
  3. 你喜欢的颜色是蓝色

也可以把整数转换为枚举类型:

  1. //Example 07

  2. #include <stdio.h>
  3. #include <stdlib.h>

  4. int main()
  5. {
  6.     enum day
  7.     {
  8.         saturday,
  9.         sunday,
  10.         monday,
  11.         tuesday,
  12.         wednesday,
  13.         thursday,
  14.         friday
  15.     } workday;

  16.     int a = 1;
  17.     enum day weekend;
  18.     weekend = (enum day) a;  //使用强制类型转换
  19.     //weekend = a; //错误
  20.     printf("weekend:%d", weekend);
  21.     return 0;
  22. }

运行结果如下:

  1. //Consequence 07
  2. weekend:1

评论

枚举数据更简洁  发表于 2024-4-17 08:52
中国龙芯CDX 发表于 2024-4-10 19:00 | 显示全部楼层
枚举是一个基本的数据类型,它可以让数据更简洁。
jf101 发表于 2024-4-14 15:08 | 显示全部楼层
枚举数据更简洁
小小蚂蚁举千斤 发表于 2024-4-16 10:00 | 显示全部楼层
枚举的应用还是比较广泛的,具有一定的适用性
OKAKAKO 发表于 2024-4-19 17:59 | 显示全部楼层
枚举是一个基本的数据类型,非常简洁
星辰大海不退缩 发表于 2024-4-21 12:59 | 显示全部楼层
枚举变量的定义和声明方法和共用体一样,也可以省略枚举名,直接声明变量名。
LOVEEVER 发表于 2024-5-21 21:00 | 显示全部楼层
枚举变量的定义和声明方法和共用体一样,一般使用结构体比较多?
 楼主| szt1993 发表于 2024-7-22 13:31 | 显示全部楼层
LOVEEVER 发表于 2024-5-21 21:00
枚举变量的定义和声明方法和共用体一样,一般使用结构体比较多?

其实确认是结构体使用较多还是看数据结构
您需要登录后才可以回帖 登录 | 注册

本版积分规则

350

主题

3021

帖子

6

粉丝
快速回复 在线客服 返回列表 返回顶部