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.枚举的特点:代码更安全,书写麻烦
· 为什么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下午】