C 列舉型別

2021-08-04 09:57:49 字數 983 閱讀 6650

一場比賽的結果又勝,負,平,比賽取消這四種情況;乙個星期只有星期一,星期二,……,星期日7天。上述資料只有有限的幾種可能,雖然可以用int,char等型別表示他們,但是對資料的合法性檢查卻是一件很麻煩的事情,例如如果用整數0–6代表一星期的7天,那麼變數值8便是不合法資料。c++的列舉型別就是專門用來解決這類問題的。

宣告形式

enum 列舉型別名 ;
例如

enum

weekday

;

說明

1.對列舉元素按常量處理,不能對它們賦值,例如,下面的語句是非法的;

sun=0;//sun是列舉元素,此語句非法
2.列舉元素有預設值,它們依次是0,1,2,…。例如上栗中sun的值為0,mon為1,tue為2,…,sat為6;

3.也可以在宣告時另行定義列舉元素的值,例如

enum

weekday

;

定義了sun為7,mon為1,其餘列舉元素依次按順序加1,sat為6.

4.列舉值可以進行關係運算

5.整數值不能直接賦值給列舉變數,如果需要將整數值賦值給列舉變數,應進行強制型別轉換。

看下面乙個例項:

某次體育比賽的結果有四種可能,勝,負,平局,比賽取消,編寫程式輸出這四種情況。

#include 

using

namespace

std;

enum gamresult

;int main()

輸出結果:

贏得比賽

輸了比賽

比賽取消

請按任意鍵繼續. . .

注意

C 列舉型別

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

c 列舉型別

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

C 列舉型別

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