C語言 列舉

2021-08-28 11:18:10 字數 759 閱讀 9627

列舉資料型別

typedef enum 

num;

void funenumpri(num num)

void funenum()

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

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

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

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

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

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

與巨集定義差異

1.列舉常量是實體中的一種,但巨集不是實體;

2.列舉常量屬於常量,但巨集不是常量(字元常量);

3.列舉常量具有型別,但巨集沒有型別,列舉變數具有與普通變數相同的諸如作用域、值等性質,但巨集沒有,巨集不是語言的一部分,它是一種預處理替換符。列舉型別主要用於限制性輸入,例如,某個函式的某引數只接受某種型別中的有限個數值,除此之外的其它數值都不接受,這時候列舉能很好地解決這個問題。能用列舉盡量用列舉,否則在除錯的時候你是看不到當時的值的。

4.列舉可以一次定義大量相關的常量,而巨集只能定義乙個。

5.列舉和巨集的作用時間和儲存形式不同。

6.列舉可以用gdb除錯而巨集不能。

C語言 列舉

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

C語言列舉

列舉 在實際應用中,有的變數只有幾種可能取值。如人的性別只有兩種可能取值,星期只有七種可能取值。在 c 語言中對這樣取值比較特殊的變數可以定義為列舉型別。所謂列舉是指將變數的值一一枚舉出來,變數只限於列舉出來的值的範圍內取值。定義乙個變數是列舉型別,可以先定義乙個列舉型別名,然後再說明這個變數是該列...

c語言列舉

利用關鍵字enum宣告列舉型別,這也是一種資料型別。使用該型別可以定義列舉型別變數,乙個列舉變數包含一組相關的識別符號,其中每個識別符號都對應乙個整數值,稱為列舉常量。在定義列舉型別的變數時,可以為某個特定的識別符號指定其對應的整型值,緊隨其後的識別符號對應的值以此加1。例如 enum colors...