列舉是c語言中的一種基本資料型別,並不是構造型別,它可以用於宣告一組常數。當乙個變數有幾個固定的可能取值時,可以將這個變數定義為列舉型別。比如,你可以用乙個列舉型別的變數來表示季節,因為季節只有4種可能的取值:春天、夏天、秋天、冬天。
回到頂部
一般形式為:enum 列舉名 ;
enum season ;回到頂部
前面只是定義了列舉型別,接下來就可以利用定義好的列舉型別定義變數。
跟結構體一樣,有3種方式定義列舉變數
enumseason ;
enum season s;
enum season s;
enum s;上面三種方式定義的都是列舉變數s
回到頂部
1> c語言編譯器會將列舉元素
(spring、summer等)作為整型常量處理,稱為列舉常量。
2> 列舉元素的值取決於定義時各列舉元素排列的先後順序。預設情況下,第乙個列舉元素的值為0,第二個為1,依次順序加1。
enum season ;也就是說spring的值為0,summer的值為1,autumn的值為2,winter的值為3
3> 也可以在定義列舉型別時改變列舉元素的值
enum season ;沒有指定值的列舉元素,其值為前一元素加1。也就說spring的值為0,summer的值為3,autumn的值為4,winter的值為5
回到頂部
可以給列舉變數賦列舉常量或者整型值
enumseason s;
s = spring; //
等價於 s = 0;
s = 3; //
等價於 s = winter;
enum輸出結果:season s;
//遍歷列舉元素
for (s = spring; s <= winter; s++)
《c 語言導學》 2 5 列舉
除了類之外,c 還提供了另一種形式簡單的使用者自定義型別,使得我們可以列舉一系列值 其中,列舉值 如red 位於其enum class的作用域之內,因此我們可以在不同的enum class中重複使用這些列舉值而不致引起混淆。例如,color red是指color的red值,它與traffic lig...
C 入門9 2 列舉
為什麼會有列舉?多人同時開發erp人員管理系統 儲存人員資訊有 姓名,性別,年齡,部門,職位。簡言之 如果希望得到乙個固定集合的值,就採用列舉。宣告方式 public enum 列舉名 值1,值2,值3,型別轉換 列舉與int相互轉換 要獲得列舉的值,只要轉換為string型別。列舉與string相...
C 基礎 4 列舉
列舉和陣列 結構有些像。下面做個對比 列舉 enum 新型別名 陣列 資料型別 陣列名 元素個數 結構 struct 新型別名稱 列舉的不同之處在於,列舉量自己有自己的預設值,不同於陣列結構需要給成員 元素 賦值。比如,第乙個列舉量的值預設為0,第二個是1,第三個是2 以此類推。所以,如果定義時列舉...