C 列舉型別詳解

2021-07-28 06:50:59 字數 1478 閱讀 1886

列舉型可以隱式的轉換為int型;int型不能隱式的轉換為列舉型,int型必須強制轉換為列舉型。

一、列舉型別的定義

enum 型別名 ;

型別名是變數名,指定列舉型別的名稱。

列舉值表也叫列舉元素列表,列出定義的列舉型別的所有可用值,各個值之間用「,」分開。

例:enum suit ;

二、列舉變數說明

列舉變數有多種宣告方式:

1.列舉型別定義與變數宣告分開如:

enum suit ;

enum suit a;

enum suit b,c;

變數a,b,c的型別都定義為列舉型別enum suit。

2.列舉型別定義與變數宣告同時進行如:

enum suit a,b,c;

此處型別名可以省略,如以下的宣告也是可以的。

enum a,b,c;

3.用typedef先將列舉型別定義為別名,再利用別名進行變數的宣告

有以下幾種方式:

1).typedef enum suit suit;

enum suit a;

enum suit b,c;

2).typedef enumsuit;

enum suit a;

enum suit b,c;

3).typedef enum suit ;

enum suit a;

enum suit b,c;

注意:同一程式中不能定義同型別名的列舉型別;不同列舉型別的列舉元素不能同名。

三、列舉元素說明

1.將會為每個列舉元素分配乙個整型值,預設從0開始,逐個加1。

2.也可以在定義列舉型別時對列舉元素賦值,此時,賦值的列舉值為所賦的值,而其他沒有賦值的列舉值在為前乙個列舉值加1.

2.列舉值是常量不是變數,不能在程式中再為列舉元素賦值。

四、列舉型與整型的轉換

列舉型可以隱式的轉換為int型,int型不能隱式的轉換為列舉型。

int型不能隱式轉換為列舉型

列舉型可以隱式的轉換為int型

參考:

C 列舉型別詳解

列舉型別 enumeration 是c 中的一種派生資料型別,它是由使用者定義的若干列舉常量的集合。定義格式 列舉型別的定義格式為 enum 型別名 其中 應用舉例 enum color set1 定義列舉型別color set1 enum week 定義列舉型別week 重要提示 定義列舉型別的主...

c 列舉型別詳解

在實際程式設計中,有些資料的取值往往是有限的,只能是非常少量的整數,並且最好為每個值都取乙個名字,以方便在後續 中使用,比如乙個星期只有七天,一年只有十二個月,乙個班每週有六門課程等。以每週七天為例,我們可以使用 define命令來給每天指定乙個名字 include define mon 1 def...

C 列舉型別詳解

非原創作品,自 一 列舉型別的定義 enum 型別名 型別名是變數名,指定列舉型別的名稱。列舉值表也叫列舉元素列表,列出定義的列舉型別的所有可用值,各個值之間用 分開。例 enum suit 二 列舉變數說明 列舉變數有多種宣告方式 1.列舉型別定義與變數宣告分開 如 enum suit enum ...