C語言列舉型別

2021-08-08 10:53:32 字數 874 閱讀 6343

巨集和列舉都可以將變數換乙個別名

對比:

巨集    列舉 差別 作用時期 儲存形式

巨集 預處理階段 替換,程式執行 不存在

列舉 程式執行 後 起作用,列舉常量 儲存 資料段 靜態儲存區里。

巨集 佔 **段 空間,列舉 佔空間 耗cpu資源。

若定義非常多的常量 一條enum 比大堆define更清晰

定義別名 :

預處理指令#define來完成這項工作,您的**可能是:

#define u32 unsigned int

#define u16 unsigned short

#define s32 int

#define s16 short int

#define u8 unsigned char

#define s8 char

enum [ 列舉名 ]

enum gpio

;(1) 列舉型是乙個集合,集合中的元素(列舉成員)是一些命名的整型常量,元素之間用逗號,隔開。

(2) gpio是乙個識別符號,可以看成這個集合的名字,是乙個可選項,即是可有可無的項。

(3) 第乙個列舉成員的預設值為整型的0,後續列舉成員的值在前乙個成員上加1。

(4) 可以人為設定列舉成員的值,從而自定義某個範圍內的整數。

(5) 列舉型是預處理指令#define的替代。

(6) 型別定義以分號;結束。

typedef定義乙個新的資料型別:gpio_typedef

typedef enum

gpio_typedef;

在使用列舉變數時,主要關心的不是它的值的大小,而是其表示的狀態。

C語言列舉型別

在實際問題中,有些變數的取值被限定在乙個有限的範圍內。例如,乙個星期內只有七天,一年只有十二個月,乙個班每週有六門課程等等。如果把這些量說明為整型,字元型或其它型別顯然是不妥當的。為此,語言提供了一種稱為 列舉 的型別。在 列舉 型別的定義中列舉出所有可能的取值,被說明為該 列舉 型別的變數取值不能...

C語言列舉型別

實際問題中,有些變數的取值被限制在一定範圍內。例如,乙個星期內只有七天,一年只有十二個月,乙個班每週有六門課程等。c語言提供了一種 列舉 enum 型別,可以列出所有可能的取值。定義形式為 enum 變數名 這些值也稱為 列舉元素 注意最後的分號 不能少。例如,列出乙個星期有幾天 enum week...

c語言列舉型別

在實際應用中,有的變數只有幾種可能取值。如人的性別只有兩種可能取值,星期只有七種可能取值。在程式中,我們可以利用預處理指令 define來完成這項工作,如 define mon 1 define tue 2 define wed 3 define thu 4 define fri 5 define ...