一、什么是枚举
我对枚举的理解就是把一些固定的值—列举出来分别起个名字,比如说给1取个名字叫Ture,0取个名字叫False,Ture和False都是表示同一个类型的数据,比如说都是代表逻辑的对错,这里用51单片机的IE中断使能寄存器来举一个例子。
二、枚举的用法
- 1、直接定义枚举值,然后给普通变量赋值
- 2、定义一个带名称的枚举
- 3、定义枚举别名
#include <stdio.h>
enum
{
EX0_ENABLE = 0x01,
ET0_ENABLE = 0x02,
EX1_ENABLE = 0x04,
ET1_ENABLE = 0x08,
ES_ENABLE = 0x10,
ET2_ENABLE = 0x20,
EA_ENABLE = 0x80,
};
typedef enum
{
monday,
tuesday,
wednesday,
} weekday;
int main()
{
unsigned char IEReg;
weekday day;
IEReg |= ET0_ENABLE;
IEReg |= EA_ENABLE;
day = monday;
printf("day=%u\r\n",day);
return 0;
}
三、枚举有什么用,用在哪里?
枚举的作用:
通过枚举总值来灵活分配数组的大小,方便从大数组里调取需要的数据。
为固定的值命名,当作数组访问的下标,当数组很大时,比如有几十上百个,那么如果你0-100去表示就很难记住每一个值代表什么意思。
把列举的固定值定义为某一种数据类型,这样定义的目的是方便提高代码的可读性和专业性。
枚举和define
比较像,define
也是用一个别名来代表一个数据,甚至代表一个函数。但是enum的值有自动递增的功能,另外enum
是一组同类型数据的集合,在项目比较大的情况下,用枚举来封装数据能更好的实现模块化。
四、枚举要注意的地方
- 枚举的值默认是从0开始递增。
- 枚举最大值是0XFFFFFFFF,即4个字节。
枚举里面的值不一定要从小到大,默认是递增,也可以自己设置值。
到此这篇关于C语言枚举的使用以及使用的文章就介绍到这了,更多相关C语言枚举内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!