網站首頁 編程語言 正文
一、什么是枚舉
我對枚舉的理解就是把一些固定的值—列舉出來分別起個名字,比如說給1取個名字叫Ture,0取個名字叫False,Ture和False都是表示同一個類型的數據,比如說都是代表邏輯的對錯,這里用51單片機的IE中斷使能寄存器來舉一個例子。
二、枚舉的用法
- 1、直接定義枚舉值,然后給普通變量賦值
- 2、定義一個帶名稱的枚舉
- 3、定義枚舉別名
#includeenum? { ?? ?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個字節。
枚舉里面的值不一定要從小到大,默認是遞增,也可以自己設置值。
原文鏈接:https://blog.csdn.net/weixin_44795447/article/details/123199578
- 上一篇:C語言隊列和應用詳情_C 語言
- 下一篇:C語言基礎知識點指針的使用_C 語言
相關推薦
- 2023-07-16 unipp 小程序 退出登錄
- 2022-08-29 Python可視化神器pyecharts之繪制箱形圖_python
- 2023-05-18 Python使用requirements.txt和pip打包批量安裝的實現_python
- 2022-11-21 Python?tabulate結合loguru打印出美觀方便的日志記錄_python
- 2022-10-23 Android性能優化全局異常處理詳情_Android
- 2022-09-02 useEffect中不能使用async原理詳解_React
- 2023-03-20 c#判斷代碼是否執行超時的幾種方式總結_C#教程
- 2022-05-08 SQL利用游標遍歷日期查詢的過程詳解_MsSql
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支