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語言枚舉內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- Android NDK開發(C語言–聯合體與枚舉)
- C語言自定義類型詳解(結構體、枚舉、聯合體和位段)
- C語言中typedef的用法以及#define區別詳解
- 一篇文章帶你瞭解C語言:入門基礎(2)
- C語言中數據的存儲詳解