列舉型別:
語法格式:
enum 列舉型別名 ;
例如:enum weekday;
宣告了列舉型別後,就可以定義列舉型別的變數了。定義列舉變數的語法格式為:
enum 列舉型別名 標示符;
或列舉型別名 標示符;
例如:enum weekday aday;
也可以把宣告列舉型別和定義列舉型別變數合為一步:
enum 標示符;
例如:enum aday;
變數aday的值只能是sun到sat之一
宣告列舉型別時,變數值列表中的標示符是一些符號常量,每乙個都對應乙個確定的整數值。第乙個符號常量的值為0,第二為1,以此類推。
也可以在宣告列舉型別時自行制定符號常量的值,制定的值必須是整數。
例如:enum weekday;
其中,sun=0、mon=1、tue=5、wed=6、….sat=9.
不能把乙個整數值直接賦值給乙個列舉型別的變數:
aday=2; //錯誤
但是可以通過強制型別轉換將整數賦值給列舉型別的變數。
例如:aday=(weekday)2;
例項:#include
using namespace std;
void main()
enum weekday;
weekday day1 , day2;
int in1,in2;
cout<< 「請輸入兩個0到6之間的整數:」>in1>>in2;
day1=(weekday)in1;
day2=(weekday)in2;
if(day1==day2)
cout<< 「您輸入的都是」;
switch(day1)
case sun: cout<< 「星期日」cout<< 「您輸入的兩天分別是:」;
switch(day1)
case sun: cout<< 「星期日」case sun: cout<< 「星期日」下面**片段的輸出是:
enum{
a ,b , c = 1 ,d,
std::cout答案:b
預設下」接下來的枚舉子取值是前面乙個枚舉子的取值+1「。既然這兩個枚舉子沒有顯式賦值,那麼就按照預設規則辦事,所以b==1,d==2 從這個例子也可以看出,同一列舉中枚舉子的取值不需要唯一。
9 4 列舉型別
乙個變數只有幾種可能的取值,可以一一枚舉出來,變數的取值僅限於列舉的值的有限範圍內,而不適宜用整型 實型 字元型直接表示,c語言提供了這種列舉資料型別。例如,一年的四季有春夏秋冬 乙個星期有星期日 星期一到星期六等。定義列舉型別的一般形式為 enum 列舉型別名 如 enum weekday 1.列...
146 列舉型別
除了簡單的變數型別之外,c 還提供了3個複雜的變數 列舉,結構和陣列。列舉型別的定義 enum 列舉型別的宣告 列舉型別的賦值 在遊戲中我們可以定義乙個int型別來儲存狀態 0 遊戲暫停 1遊戲失敗 2遊戲勝利 3開始選單,但是這樣不容易閱讀,而且容易出錯。這個時候我們通過列舉型別來解決 enum ...
3 5 9 列舉型別
有時,變數的取值只在乙個有限的集合內。例如 銷售的服裝或服裝只有小 中 大 和超大的四種尺寸。當然,可以將這些尺寸分別編碼為1 2 3 4或s m l x。但這樣存在著一定的隱患。在變數中很可能儲存的是乙個錯誤的值 如0或m 針對這種情況,可以自定義列舉型別。列舉型別包括有限個命名的值。例如,enu...