C列舉型別小結

2021-07-11 10:34:19 字數 715 閱讀 2514

列舉型別定義了一組常量,其本質為整型。下面就以星期為背景,對c中的列舉做乙個小結

enum

week;

此**定義了乙個名為week的列舉型別,其中有周一到周五的5種不同的常量。這些常量本質上為整型,可以賦值給其他整型變數或者賦值給乙個week型別的變數。列舉變數的定義方法如下:

enum week var = mon;
這裡定義了乙個week型別的變數var,並將其賦初值為mon。此外,我們還可以將列舉型別的定義和變數的宣告寫在一起,語法結構類似於結構體:

enum

week

myvar;

也可以在這基礎上直接賦值:

enum

week

myvar = tue;

列舉元素的值本質上為整型。對與列舉中的每個元素的實際整型值,c是這樣處理的:

可以人為的為某些或全部元素賦初值,那麼這些元素的初值以人為授予的值為準

如果乙個元素沒有人為賦值,那麼它就是前者值加一

由於enum的本質就是整型,因此可以將元素直接賦值給乙個int變數,也可以將任意乙個數賦值給enum的變數。但是請注意,不要使用後者,因為這會打破enum所代表的語義,enum變數攜帶的值應該為此列舉集合中元素的值。關於enum元素的使用,我們可以認為它與「const int」型別的使用相同。

暴力列舉型別題小結

include define fast ios base sync with stdio false cin.tie 0 cout.tie 0 define ms a,b memset a,b,sizeof a define rush int t cin t while t define ll lo...

C 列舉型別

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

c 列舉型別

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