C语言枚举的使用以及作用

一、什么是枚举

我对枚举的理解就是把一些固定的值—列举出来分别起个名字,比如说给1取个名字叫Ture,0取个名字叫False,Ture和False都是表示同一个类型的数据,比如说都是代表逻辑的对错,这里用51单片机的IE中断使能寄存器来举一个例子。

C语言枚举的使用以及作用_第1张图片

二、枚举的用法

  • 1、直接定义枚举值,然后给普通变量赋值

C语言枚举的使用以及作用_第2张图片

  • 2、定义一个带名称的枚举

C语言枚举的使用以及作用_第3张图片

  • 3、定义枚举别名

C语言枚举的使用以及作用_第4张图片

#include 
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;    
}

三、枚举有什么用,用在哪里?

枚举的作用:

通过枚举总值来灵活分配数组的大小,方便从大数组里调取需要的数据。

C语言枚举的使用以及作用_第5张图片

为固定的值命名,当作数组访问的下标,当数组很大时,比如有几十上百个,那么如果你0-100去表示就很难记住每一个值代表什么意思。

C语言枚举的使用以及作用_第6张图片

把列举的固定值定义为某一种数据类型,这样定义的目的是方便提高代码的可读性和专业性。

C语言枚举的使用以及作用_第7张图片

C语言枚举的使用以及作用_第8张图片

C语言枚举的使用以及作用_第9张图片

枚举和define比较像,define也是用一个别名来代表一个数据,甚至代表一个函数。但是enum的值有自动递增的功能,另外enum是一组同类型数据的集合,在项目比较大的情况下,用枚举来封装数据能更好的实现模块化。

四、枚举要注意的地方

  • 枚举的值默认是从0开始递增。
  • 枚举最大值是0XFFFFFFFF,即4个字节。

C语言枚举的使用以及作用_第10张图片

枚举里面的值不一定要从小到大,默认是递增,也可以自己设置值。

到此这篇关于C语言枚举的使用以及使用的文章就介绍到这了,更多相关C语言枚举内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

你可能感兴趣的:(C语言枚举的使用以及作用)