C语言——枚举类型用法
1.枚举的定义
enum 枚举名{ 枚举元 素1,枚举元素2,枚举元素3...};
2.使用枚举类型的好处
增加程序的可读性,我们都知道在计算机中所有信息都是用二进制来表示的,如果你用二进制来表示某件事务是非常不直观的,为了使程序更加直观我们引入枚举。
3.枚举的应用
/*红色、黄色、绿色、蓝色,黑色*/
enum color{red,yellor,green,blue,black};
int main()
{
char user_color;
while()
{
printf("\n请输入颜色");
scanf("%d",&user_color);
switch(user_color)
{
case red: printf("\n你输入的是红色\n"); break;
case yellor: printf("\n你输入的是黄色\n"); break;
case green: printf("\n你输入的是绿色\n"); break;
case blue: printf("\n你输入的是蓝色\n"); break;
case black: printf("\n你输入的是黑色\n"); break;
}
} return ;
}
枚举元素列表中,每个元素只能是整型,如果我们不指定某个元素的大小,默认是从0开始排列,如第2行中的枚举列表中red = 0、yellor = 1......black = 4,从这个代码中我们可以看到红色,黄色不再用数字表示,而是用枚举元素来表示红色、黄色等一些有意义的词,而这个枚举元素的名称可以自己定义,枚举元素本质还是数字。
4.用typedef关键字将枚举类型定义成别名,并利用该别名进行变量声明
typedef enum workday //此处的workday可以省略,或者改成其他,不会影响后面
{
saturday,
sunday,
monday,
tuesday,
wednesday,
thursday,
friday
} workday; //此处的workday为枚举型enum workday的别名,类似于int
正如上边代码注释所说,worday可以不要,代码如下
typedef enum
{
saturday,
sunday,
monday,
tuesday,
wednesday,
thursday,
friday
} workday; //此处的workday为枚举型enum workday的别名
workday today, tomorrow; //变量today和tomorrow的类型为枚举型workday,也即enum workday
在程序中我们是直接可以用某个枚举中的枚举元素的,在STM32开发库中这种枚举用法非常多,下图就是STM32库中的代码示例,利用这个方法开发库,可以大大增加程序的可读性。
typedef enum
{
LED1 = ,
LED2 = ,
LED3 = ,
LED4 =
} Led_TypeDef; typedef enum
{
BUTTON_WAKEUP = ,
BUTTON_TAMPER = ,
BUTTON_KEY = ,
BUTTON_RIGHT = ,
BUTTON_LEFT = ,
BUTTON_UP = ,
BUTTON_DOWN = ,
BUTTON_SEL =
} Button_TypeDef;
C语言——枚举类型用法的更多相关文章
- [编程] C语言枚举类型(Enum)
C语言枚举类型(Enum):定义形式为:enum typeName{ valueName1, valueName2, valueName3, ...... };enum 类型名{名字1,名字2} 枚举 ...
- C语言枚举类型(Enum)深入理解
在实际编程中,有些数据的取值往往是有限的,只能是非常少量的整数,并且最好为每个值都取一个名字,以方便在后续代码中使用,比如一个星期只有七天,一年只有十二个月,一个班每周有六门课程等. 以每周七天为例, ...
- C++枚举类型Enum及C++11强枚举类型用法
C++中的枚举类型常常和switch配合使用,这里用一个简单的switch控制键盘回调的代码片段来说明枚举的用法: //W A S D 前.后.左.右行走 enum Keydown{ Forward= ...
- C语言枚举类型enum-(转)-温故而知新
在实际编程中,有些数据的取值往往是有限的,只能是非常少量的整数,并且最好为每个值都取一个名字,以方便在后续代码中使用,比如一个星期只有七天,一年只有十二个月,一个班每周有六门课程等. 以每周七天为例, ...
- C语言枚举类型(Enum)
在实际编程中,有些数据的取值往往是有限的,只能是非常少量的整数,并且最好为每个值都取一个名字,以方便在后续代码中使用,比如一个星期只有七天,一年只有十二个月,一个班每周有六门课程等. 以每周七天为例, ...
- C语言枚举类型
在实际编程中,有些数据的取值往往是有限的,只能是非常少量的整数,并且最好为每个值都取一个名字,以方便在后续代码中使用,比如一个星期只有七天,一年只有十二个月,一个班每周有六门课程等.以每周七天为例,我 ...
- Java枚举类型的用法
JDK1.5引入了新的类型——枚举.在 Java 中它虽然算个“小”功能,却给我的开发带来了“大”方便. 1.用法一:常量 在JDK1.5 之前,我们定义常量都是: public static fia ...
- c#枚举类型操作方法总结-1
关于枚举类型用法总结两点,分享如下: 1. 根据枚举值获取枚举值的描述信息,可以封装一个方法供调用: // enumValue是传入的枚举值 public string GetEnumDescrp ...
- 枚举类型C语言规律用法总结
注:以下全部代码的执行环境为VC++ 6.0 在程序中,可能需要为某些整数定义一个别名,我们可以利用预处理指令#define来完成这项工作,您的代码可能是: #define MON 1#define ...
随机推荐
- 五一 DAY 6
五一 DAY 6 TypeName 类型名 VariableName 变量名 Part 1 数据结构 函数库:# include < utility > Pair 定义一个变量,它 ...
- RESTE MASTER和reset slave
RESET MASTER 删除所有index file 中记录的所有binlog 文件,将日志索引文件清空,创建一个新的日志文件,这个命令通常仅仅用于第一次用于搭建主从关系的时的主库, 注意 re ...
- leetcode 452用少量的箭射爆气球
类似于区间调度问题,使用贪心算法:首先对所有气球按照起始坐标大小排序,然后每次总是优先选择起始坐标小的气球中的右边坐标,然后再选择下一个: 排完序之后,下一个可能有如上图所示几种情况, 1) 当n ...
- hud 5750 Dertouzos
Dertouzos Time Limit: 7000/3500 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others)Total ...
- windows7解决无法桌面远程
正常设置远程连接一般需要下面几个设置: 1).查询并记录远程计算机的IP,开始——运行——输入cmd,回车,在cmd界面输入ipconfig/all 回车查看IPv4地址 2).被远程的电脑设置一个用 ...
- 安装MySQL Enterprise Monitor
MySQL Enterprise Monitor是专门为MySQL数据库而设计的一款企业级监控,能非常好地与MySQL各方面特性相结合,包括:MySQL的关键性能指标.主机.磁 盘.备份.新特性相关以 ...
- java:struts框架2(方法的动态和静态调用,获取Servlet API三种方式(推荐IOC(控制反转)),拦截器,静态代理和动态代理(Spring AOP))
1.方法的静态和动态调用: struts.xml: <?xml version="1.0" encoding="UTF-8"?> <!DOCT ...
- Json序列化日期/Date(xxxx)/ JS转化为常用日期格式
记录开发过程中的代码片段,方便日后归纳.总结,效果如图所示: 转换前: 转换后: 代码如下,需要的朋友们自取: //JS转化为json常用日期格式 function FormatToDate(v ...
- tomcat报错解决方法
tomcat报错如 关闭被占用的进程 解决方法:cmd进入控制台,输入命令netstat -ano|findstr 8005 (什么端口号被占用就输入什么号),回车 发现是进程2044占用了这 ...
- 解一元二次方程的C++实现
一元二次方程的根的情况分为实根与虚根两种,代码如下 #include<iostream> #include<cmath> using namespace std; float ...