列舉型別 筆記

2021-08-21 12:13:52 字數 967 閱讀 7105

列舉型別是一種使用者自定義型別

是由若干個有名字常量組成的有限集合

使程式的可讀性增強

定義格式:

enum《列舉型別名》

;

預設第乙個列舉元素為0,到n-1。

enum season

;

spring指定為1,summer = 2,autumn = 3,winter = 4。

enum weekday

;

mon = 1, tues = 2, wed = 3, thus = 4, fri = 5, sat = 6, sun =0.

列舉變數的使用:

①season temps1;

temps1 = spring;

②enum colorc1,c2;

c1 = green;

列舉變數與整型的關係:

整型值只能顯式地轉換為乙個列舉值,如果轉換的結果位於該列舉取值範圍之外,則結果是無定義的。

enum e1;

e1 var1 = e1(50); //無定義

e1 var2 = e1(3); //編譯通過

不允許隱式的從整型轉換到列舉是因為大部分整型值在特定的列舉裡沒有對應的表示。

乙個列舉型別的sizeof就是某個能夠容納其範圍的整型的sizeof,而且不會大於sizeof(int),除非某個枚舉子的值不能用int或者unsigned int 來表示。

總結:①列舉型別適用於switch-case 語句。

②列舉型別不支援cin>>和cout<<(輸出其標號)。

③列舉型別之間的比較可以用<、>、<=、>=、==、!=。

④列舉型別可以做函式的返回型別。

⑤列舉是使用者自定義型別,可以為它定義自身的操作,如++或者<<。

CLR筆記 列舉型別

class program t item 獲取列舉的物件的字串 string names enum.getnames typeof color foreach var item in names t item 使用parse將符號轉化成color型別,下面兩種形式都可以 color c color ...

C Primer 筆記 列舉型別

1.和類一樣,每個列舉型別定義了一種新的型別。列舉屬於字面值常量型別。2.c 包含兩種列舉 限定作用域的和不限定作用域的。c 11新標準引入了限定作用域的列舉型別。enum class struct myenum 限定作用域的列舉 enum class struct myenum1 限定作用域的列舉...

C語言筆記 列舉型別

1 實現選擇乙個動物,輸出乙個叫聲.2 include 3 enum animal 45 void dog 69 void cat 1013 void monkey 1417 18enum animal choose void 19 while answer 0 answer 3 本句可以寫成 wh...