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

 更新时间:2022年03月06日 10:57:50   作者:Embedded learner  
这篇文章主要介绍了C语言枚举的使用以及使用,阅读下面内容我们将掌握枚举的相关概念、掌握枚举的几种用法、掌握枚举在实际产品中的用法,需要的朋友可以参考一下

一、什么是枚举

我对枚举的理解就是把一些固定的值—列举出来分别起个名字,比如说给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语言枚举内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • c++中比较好用的“黑科技”

    c++中比较好用的“黑科技”

    这篇文章主要介绍了c++中比较好用的“黑科技”,一些常用小编没有给大家罗列出,主要给大家介绍了sort函数,需要的朋友可以参考下
    2020-02-02
  • C/C++字节序的深入理解

    C/C++字节序的深入理解

    本文主要介绍了C/C++字节序的深入理解,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-02-02
  • C语言字符串函数介绍与模拟实现详解

    C语言字符串函数介绍与模拟实现详解

    这篇文章主要介绍了C语言实现字符串操作函数的实例的相关资料,开发程序的时候经常使用到一些字符串函数,例如求字符串长度,拷贝字符串……,需要的朋友可以参考下
    2021-09-09
  • C语言深入探究栈的原理

    C语言深入探究栈的原理

    一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端 称为栈顶,另一端称为栈底。栈中的数据元素遵守后进先出LIFO(Last In First Out)的原则
    2021-11-11
  • c++ vector对象相关总结

    c++ vector对象相关总结

    这篇文章主要介绍了c++ vector对象的相关资料,帮助大家更好的理解和学习使用c++,感兴趣的朋友可以了解下
    2021-02-02
  • 浅析c语言中的内存

    浅析c语言中的内存

    在c++中,内存分为5个区,分别是栈区,堆区,自由存储区,全局/静态存储区和常量存储区.
    2017-09-09
  • C++深入细致探究二叉搜索树

    C++深入细致探究二叉搜索树

    二叉搜索树是以一棵二叉树来组织的。每个节点是一个对象,包含的属性有left,right,p和key,其中,left指向该节点的左孩子,right指向该节点的右孩子,p指向该节点的父节点,key是它的值
    2022-05-05
  • 模拟鼠标事件的实现思路及代码

    模拟鼠标事件的实现思路及代码

    这篇文章主要介绍了模拟鼠标事件的实现思路及代码,有需要的朋友可以参考一下
    2013-12-12
  • VC实现让关闭按钮成灰色不可用的方法

    VC实现让关闭按钮成灰色不可用的方法

    这篇文章主要介绍了VC实现让关闭按钮成灰色不可用的方法,比较实用的一个特殊功能,需要的朋友可以参考下
    2014-08-08
  • C/C++中虚基类详解及其作用介绍

    C/C++中虚基类详解及其作用介绍

    这篇文章主要介绍了C/C++中虚基类的详解及其作用介绍,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-09-09

最新评论