C語言 22 列舉

2021-07-03 18:43:19 字數 1102 閱讀 3940

列舉是c語言中的一種基本資料型別,並不是構造型別,它可以用於宣告一組常數。當乙個變數有幾個固定的可能取值時,可以將這個變數定義為列舉型別。比如,你可以用乙個列舉型別的變數來表示季節,因為季節只有4種可能的取值:春天、夏天、秋天、冬天。

回到頂部

一般形式為:enum 列舉名 ;

enum season ;
回到頂部

前面只是定義了列舉型別,接下來就可以利用定義好的列舉型別定義變數。

跟結構體一樣,有3種方式定義列舉變數

enum

season ;

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

回到頂部

可以給列舉變數賦列舉常量或者整型值

enum

season 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 以此類推。所以,如果定義時列舉...