19.枚举【郝斌C语言入门学习】

1.什么是枚举

  把一个事物所有可能的取值一一列举出来。

2.怎样使用枚举

例题1:

 

复制代码
 1 # include <stdio.h>
 2 //只定义了一个数据类型,并没有定义变量,该数据类型名时enum WeekDay
 3 enum WeekDay
 4 {
 5     Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday
 6 };
 7 int main(void)
 8 {
 9     //int day 定义成int类型不合适
10     enum WeekDay day = Tuesday;
11     printf("%d\n", day);
12     
13     return 0;
14 }
复制代码

 

例题2:

复制代码
 1 # include <stdio.h>
 2 //只定义了一个数据类型,并没有定义变量,该数据类型名时enum WeekDay
 3 enum WeekDay
 4 {
 5     Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday
 6 };
 7 void f(enum WeekDay i)//本函数的目的只是期望接受0-6之间的数字,将形参i定义为枚举类型
 8 {
 9     switch (i)
10     {
11         case 0:
12             printf("Monday!\n");
13             break;
14         case 1:
15             printf("Tuesday!\n");
16             break;
17         case 2:
18             printf("Wednesday!\n");
19             break;
20         case 3:
21             printf("Thursday!\n");
22             break;
23         case 4:
24             printf("Friday!\n");
25             break;
26         case 5:
27             printf("Saturday!\n");
28             break;
29         case 6:
30             printf("Sunday!\n");
31             break;
32     }
33 }
34 int main(void)
35 {
36     f(Sunday);//Sunday的本质上6,但写成f(6)时错的
37     return 0;
38 }
复制代码

 

3.枚举的特点:代码更安全,书写麻烦

 

posted @ 2024-08-20 16:50  java帝国  阅读(6)  评论(0)    收藏  举报
编辑推荐:
· 为什么PostgreSQL不自动缓存执行计划?
· 于是转身独立开发者
· C#.Net筑基-泛型T & 协变逆变
· dotnet 代码调试方法
· DbContext是如何识别出实体集合的
阅读排行:
· 【Cursor保姆级教程】零基础小白从安装到实战,手把手教你玩转AI编程神器!
· 如何基于three.js(webgl)引擎架构,实现3D医院、3D园区导航,3D科室路径导航
· C# 的深度强化学习框架RL_Matrix
· MySQL查询执行顺序:一张图看懂SQL是如何工作的
· Cursor 实战万字经验分享,与 AI 编码的深度思考
历史上的今天:
2023-08-20 python语言编程培训【8.20下午】
点击右上角即可分享
微信分享提示