首页 > 其他分享 >enum用法

enum用法

时间:2024-06-09 14:44:01浏览次数:13  
标签:HAL Color enum 用法 GREEN myColor RED

基本用法

enum Color { //Color被称为枚举类型
    RED,     //默认是0开始
    GREEN = 5,
    BLUE
};

enum Color myColor; //enum Color
myColor = RED; // myColor的值现在是0
myColor = BLUE; // myColor的值现在是6

使用typedef简化代码(推荐)

typedef enum {
    RED,
    GREEN,
    BLUE
} Color;

Color myColor;
myColor = GREEN; // myColor的值是1

注意点

1.枚举类型默认为整型,因此不用再在内部声明
2*.如果想在C和C++中使用++运算符,必须声明为int才能兼容,unsigned char在C++中不能++的

具体应用

1.用于函数的返回值

typedef enum  // .h文件
{
  HAL_OK       = 0x00U,
  HAL_ERROR    = 0x01U,
  HAL_BUSY     = 0x02U,
  HAL_TIMEOUT  = 0x03U
} HAL_StatusTypeDef;
//.c文件
HAL_StatusTypeDef HAL_UART_Receive_IT(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size)
{
      return HAL_OK; //HAL_ERROR/HAL_BUSY/HAL_TIMEOUT
}

2.使用enum进行位掩码

3.枚举的范围(C++11)

标签:HAL,Color,enum,用法,GREEN,myColor,RED
From: https://www.cnblogs.com/lichangyi/p/18239554

相关文章

  • tcl脚本语言之regexp中转义字符\用法
    在Tcl脚本中,正则表达式(regexp)中使用反斜杠(\)来转义字符,以便这些字符可以被解释为其字面含义或特定的正则表达式语法。以下是详细的用法和示例。基本用法反斜杠(\)在正则表达式中有两种主要用途:转义元字符:将元字符解释为字面字符。表示特殊字符:用于表示特定的非打印字符或预定......
  • const用法详解以及auto用法详解
    const用法详解:主要用途:定义一个不可修改的常量1、修饰变量:语法:const数据类型变量名=值;示例:constintN=3;说明:const修饰的变量必须在声明时初始化,并且之后不能被修改。2、修饰指针2.1、常量指针:语法:数据类型*constp=&a;示例:int*constp=&a;说明:指针本......
  • 数据结构和矩阵细节用法:double、cell和complex #matlab
    建立矩阵用[];矩阵的同一行内的元素用逗号或者空格隔开矩阵的不同行的元素用分号隔开eg.       矩阵     A=123456789在matlab中矩阵A表示为:clc;clear;A=[1,2,3;4,5,6;7,8,9]; %或者A=[123;456;789];小矩阵构建大矩阵假设:A=[......
  • 多选列表用法
    文章目录知识回顾使用方法示例代码我们在上一章回中介绍了扩展内容相关的知识,本章回中将介绍单选列表和复选列表.闲话休提,让我们一起TalkFlutter吧。知识回顾我们在本章回中将介绍单选和复选列表,它们是常用的组件,不只在移动平台中使用,在其它平台上也经常被使用,......
  • 字符串分割处理srttok的用法
    字符串处理srttok的用法strtok函数是C语言中用于分割字符串的一个非常有用的工具。以下是关于strtok函数用法的详细说明:一、函数原型c复制代码char*strtok(char*str,constchar*delim);二、参数说明str:要分割的字符串。首次调用时,它应指向要分割的原始字符串。在后续......
  • ECharts数据集合(dataset)用法一(完整举例)
            数据集(dataset)是专门用来管理数据的组件。虽然每个系列都可以在series.data中设置数据,但是从ECharts4支持数据集开始,更推荐使用数据集来管理数据。因为这样,数据可以被多个组件复用,也方便进行“数据和其他配置”分离的配置风格。毕竟,在运行时,数据是最常改变的,而......
  • 在计算机论文中suppose suggest assume 用法上的区别
    ChatGPT3.5的答案:在计算机论文中,"suppose,""suggest,"和"assume"有不同的用法和含义。它们在表达假设、建议和假定时具有不同的语气和语境。以下是它们的区别和示例:Suppose定义:假设某种情况或前提,通常用于讨论或推理。用法:假设情景:"Supposeweuseamoreefficie......
  • Shell脚本语言用法详解(超详细~)
    Shell目录Shell一、Shell是什么?二、Shell怎么使用?1.变量变量的命名和赋值变量类型变量的作用域只读变量删除变量环境变量系统预定义变量变量的使用特殊变量和位置参数2.运算符3.条件判断4.流程控制if判断case语句for循环while循环5.读取控制台输入6.函数系统函数自定......
  • MySQL GROUP BY 用法介绍
    MySQL中GROUPBY用法简介GROUPBY语句用于结合合计函数,根据一个或多个列对结果集进行分组。可以把分组理解成Excel中的分组。把合计函数理解成Excel中的求和、求平均值等。语法SELECTcolumn1,column2,aggregate_function(column3)FROMtable_nameWHEREcon......
  • 解释Servlet过滤器的作用和用法
    Servlet过滤器在JavaWeb开发中扮演着重要的角色,主要用于拦截客户端(如浏览器)与服务器资源之间的请求和响应,并进行相应的处理。以下是关于Servlet过滤器的作用和用法的详细解释:作用请求和响应的拦截:Servlet过滤器可以动态地拦截客户端发送的请求和服务器返回的响应,以便在请求......