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!

推薦閱讀: