C語言枚舉的使用以及作用
一、什么是枚舉
我對枚舉的理解就是把一些固定的值—列舉出來分別起個名字,比如說給1取個名字叫Ture,0取個名字叫False,Ture和False都是表示同一個類型的數(shù)據(jù),比如說都是代表邏輯的對錯,這里用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;?? ? }
三、枚舉有什么用,用在哪里?
枚舉的作用:
通過枚舉總值來靈活分配數(shù)組的大小,方便從大數(shù)組里調(diào)取需要的數(shù)據(jù)。
為固定的值命名,當(dāng)作數(shù)組訪問的下標(biāo),當(dāng)數(shù)組很大時,比如有幾十上百個,那么如果你0-100去表示就很難記住每一個值代表什么意思。
把列舉的固定值定義為某一種數(shù)據(jù)類型,這樣定義的目的是方便提高代碼的可讀性和專業(yè)性。
枚舉和define
比較像,define
也是用一個別名來代表一個數(shù)據(jù),甚至代表一個函數(shù)。但是enum的值有自動遞增的功能,另外enum
是一組同類型數(shù)據(jù)的集合,在項目比較大的情況下,用枚舉來封裝數(shù)據(jù)能更好的實現(xiàn)模塊化。
四、枚舉要注意的地方
- 枚舉的值默認(rèn)是從0開始遞增。
- 枚舉最大值是0XFFFFFFFF,即4個字節(jié)。
枚舉里面的值不一定要從小到大,默認(rèn)是遞增,也可以自己設(shè)置值。
到此這篇關(guān)于C語言枚舉的使用以及使用的文章就介紹到這了,更多相關(guān)C語言枚舉內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
數(shù)據(jù)結(jié)構(gòu)課程設(shè)計- 解析最少換車次數(shù)的問題詳解
數(shù)據(jù)結(jié)構(gòu)課程設(shè)計- 解析最少換車次數(shù)的問題詳解2013-05-05C++實現(xiàn)LeetCode(11.裝最多水的容器)
這篇文章主要介紹了C++實現(xiàn)LeetCode(11.裝最多水的容器),本篇文章通過簡要的案例,講解了該項技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下2021-07-07C++中結(jié)構(gòu)體的類型定義和初始化以及變量引用
這篇文章主要介紹了C++中結(jié)構(gòu)體的類型定義和初始化以及變量引用,是C++入門學(xué)習(xí)中的基礎(chǔ)知識,需要的朋友可以參考下2015-09-09C++中引用、內(nèi)聯(lián)函數(shù)、auto關(guān)鍵字和范圍for循環(huán)詳解
本文主要梳理了C++當(dāng)中一些瑣碎的知識點,包括有命名空間,缺省參數(shù),引用,auto關(guān)鍵字和內(nèi)聯(lián)函數(shù),文中通過實例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2023-02-02