亲宝软件园·资讯

展开

C语言枚举

Embedded learner 人气:0

一、什么是枚举

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

二、枚举的用法

#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是一组同类型数据的集合,在项目比较大的情况下,用枚举来封装数据能更好的实现模块化。

四、枚举要注意的地方

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

加载全部内容

相关教程
猜你喜欢
用户评论