巨集和列舉都可以將變數換乙個別名
對比:
巨集 列舉 差別 作用時期 儲存形式
巨集 預處理階段 替換,程式執行 不存在
列舉 程式執行 後 起作用,列舉常量 儲存 資料段 靜態儲存區里。
巨集 佔 **段 空間,列舉 佔空間 耗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 ...