列舉型別若定義時不賦初值,那麼會預設對第乙個元素賦
0,後面的元素依次
+1也可以在定義時給任意的成員賦初值,未賦初值的使用預設值,即比前一元素大1。
如:enum
test
各個列舉變數的值為:
a=10,b=11,c=11,d=12,e=13因為a
賦了初值10,
b沒有初值,所以
b預設比a大
1,即b=11。而
c賦了初值
11,故
c=11。d
和e都沒有賦初值,故依次加1,
d=12
,e=13
同時還要注意列舉是有範圍的,但只有兩個範圍。只要使用列舉不超出範圍,就不會報錯
若列舉變數中沒有負值,則範圍是
[0,2k-1]
若列舉變數中有負值,則範圍是
[-2k,2k-1]
若定義乙個列舉變數,則只能是通過自身列舉成員或者同一列舉型別的其他物件賦值。
enum test ;
test temp = c;
#
列舉型別做函式返回值:
函式宣告必須有enum關鍵字:
[cpp]view plain
copy
enum
enumtest ;
intmain(
intargc,
char
** argv)
enumtest fun()//函式實現不需要enum關鍵字
同理:當列舉型別作為類的成員函式返回值時:
1. 要在宣告處加enum關鍵字
2. 要在函式實現處加類名::列舉名
[cpp]view plain
copy
class
a ;
enum
enumtest testfun();
//函式宣告必須有enum關鍵字
};
a::enumtest testfun()//函式實現不需要enum關鍵字,但必須加類名::列舉名
小技巧:列舉變數的數量
enum
enumtest;
如果列舉變數是從0開始以步長為1遞增的,那麼
只要在列舉變數最後加乙個count,該count的值就是列舉變數的數量
c語言中的列舉
列舉 或列舉 是c中使用者定義的資料型別。它主要用於將名稱分配給積分常量,名稱使程式易於閱讀和維護。列舉相對來說運用和理解都是比較簡單的 我們直接看例子 an example program to demonstrate working of enum in c include enum week ...
C語言中列舉型別
列舉變數的建立 方法一 enum weekday 宣告了乙個列舉型別enum weekday enum weekday workday,weekend 用上面申明的列舉型別定義列舉變數 workday,weekend 方法二 不宣告有名字的列舉型別,直接定義列舉變數 enum workday,wee...
C語言中enum 列舉
列舉是 c 語言中的一種基本資料型別,它可以讓資料更簡潔,更易讀。列舉語法定義格式為 enum 列舉名 接下來我們舉個例子,比如 一星期有 7 天,如果不用列舉,我們需要使用 define 來為每個整數定義乙個別名 define mon 1 define tue 2 define wed 3 def...