C 列舉型別

2021-10-13 22:05:57 字數 758 閱讀 9881

注意:bool型別可以看成是c++語言提供的乙個預定義的列舉型別。

列舉型別定義

enum 《列舉型別名》 ;

初始化列舉型別的每乙個列舉值都對應乙個整型數,預設情況下,第乙個列舉值的值是0,然後依次增1,但也可以顯示初始化任意乙個列舉值對應的整形數,沒定義的列舉值預設情況下在其前乙個列舉值的對應整型數上加1.

留個問題:如果多個列舉值對應同乙個整形數會怎樣?

enum day

列舉變數的定義

《列舉型別》 《變數表》;

或《列舉型別》 《變數表》;

列舉變數的使用

1)賦值

day d1,d2;

d1 = sun; //true

d2 = 3; //error, 但int n = sun;也是可以的

d2 = (day)3;//true 但這樣不安全,必須要保證該整型數屬於列舉型別的值集,否則沒有意義

2)比較運算

mon < tue的結果為true,運算時將其轉換為整型
3)算術運算

d2 = d1 + 1;//error,因為它d1 + 1的結果是整型

d2 = (day)(d1 + 1);//true

4)其他

輸入輸出:可以輸入int數,使用switch,然後複製或者輸出

類下標訪問:day(0)對應的是第乙個列舉值sun

C 列舉型別

c 中的列舉型別繼承於 c 語言。就像其他從 c 語言繼承過來的很多特性一樣,c 列舉也有缺點,這其中最顯著的莫過於作用域問題 在列舉型別中定義的常量,屬於定義列舉的作用域,而不屬於這個列舉型別。例如下面的示例 enum fileaccess fileaccess access read 正確 fi...

c 列舉型別

列舉型別是一種的值型別,它用於宣告一組命名的常數。1 列舉的宣告 列舉宣告用於宣告新的列舉型別。訪問修辭符 enum 列舉名 基礎型別 列舉由int,uint,byte,sbyte,long,ulong,short,ushort這8種基元型別構成基型別,沒有顯式地宣告基礎型別的列舉聲 明意味著所對應...

C 列舉型別

如果乙個變數你需要幾種可能存在的值,那麼就可以被定義成為列舉型別。之所以叫列舉就是說將變數或者叫物件可能存在的情況也可以說是可能的值一一例舉出來。舉個例子來說明一吧,為了讓大家更明白一點,比如乙個鉛筆盒中有一支筆,但在沒有開啟之前你並不知道它是什麼筆,可能是鉛筆也可能是鋼筆,這裡有兩種可能,那麼你就...