-
1. 列舉型別。
enum weekday
enum weekday a=sub;
2.列舉演算法。
for (i=1;i<=100;i++)
if (i%3==0) cout “這是乙個輸出 1 到 100 之間的 3 倍數的程式。
-
enum color
color red=20;綠色自動分配給 21color blue=100;
白色將以同樣的方式分配 101;
-
列舉是常量,例如列舉日;
main()
a,b,c;
a=sun;
b=mon;
c=tue;
printf("%d,%d,%d",a,b,c);}
-
如果乙個變數只有幾個可能的值,則可以將其定義為列舉型別。所謂“列舉”,是指對變數的值逐個列舉,變數的值僅限於所列值的範圍。
宣告列舉型別從列舉開始。 例如:
宣告了乙個列舉工作日,可用於定義變數。 例如:
也可以直接定義列舉變數,例如:
其中,sun、mon 、...,SAT叫列舉元素或列舉常量
注意: 1. 在 C 編譯中,列舉的元素被視為常量,因此稱為列舉常量。它們不是變數,不能賦值。 例如,sun = 7; mon = 1;是錯誤的。
2. 將元素列舉為常量具有價值。 C 按照定義它們的順序編譯它們,因此它們的值為 ......還可以在定義時指定列舉元素的值,例如:
3.列舉值可用於判斷和比較。 例如:
4. 證書不能直接分配給列舉變數。 例如,workday=1; 是錯誤的。 缺乏論據,它們屬於同一型別。 在分配值之前,應先進行強制型別轉換。 例如:
它等效於將序號為 2 的列舉元素分配給 workday,這相當於。
-
enum colour colour_t;
顏色 t 的值可以等於寬、紅色、綠色或藍色的任何乙個冰雹。
typedef enum colour colour_t;
colour_t col;
col 的值可以等於紅色、綠色或藍色中的任何乙個。
注意:如果未分配紅色、綠色和藍色,則預設值為 red=0、green=1 和 blue=2;
-
C 列舉型別使用如下:
1) 列舉是集合中元素(列舉成員)的集合,這些元素被命名為整數常量,用逗號分隔。
2)day是乙個識別符號,可以看作是集合的名稱,是乙個可選專案,即乙個可有可無的專案。
3)第乙個列舉成員的預設值為整數的0,後續列舉成員的值與前乙個成員相加1。如果沒有對當前值的賦值,列舉型別的當前值始終是以前的值 +1
4)可以人為設定列舉成員的值,自定義一定範圍內的整數。
5) 列舉型別是預處理指令定義的替代方法。
6)型別用分號定義;結束。
enum 是 C 語言中的乙個關鍵字,enum 叫做列舉資料型別,列舉資料型別描述的是一組整數值(這句話其實不合適),列舉是預處理指令定義的替代,列舉和巨集其實很像,巨集在預處理階段要用相應的值替換名稱, 列舉,將名稱替換為相應的值。
我們可以在編譯階段將列舉理解為巨集,使用以下格式:
enum typename ;
typename 是列舉型別的名稱,大括號中的元素(列舉成員)是常量而不是變數,這一點必須明確,因為列舉成員是常量,所以不能賦值,只能賦值給其他變數。
列舉是 C 語言中的一種基本資料型別,它使資料更簡潔、更易於閱讀。
-
列舉型別複合體相當於輔助符號,有助於程式設計師記憶。
例如,如果現在要繪製地圖,則需要使用四種顏色:紅色、黃色、藍色和綠色。 為了方便存放,我們規定 0 = 紅色,1 = 黃色,2 = 藍色,3 = 綠色。 但是在程式設計的某個階段,程式設計師可能會忘記哪個數字對應哪個顏色,或者忘記有多少個數字,他將不得不抬頭看手錶,這會延遲時間。
此時,你可以定義乙個列舉顏色,這樣系統就會自動對映到列舉型別中的每個元素,程式設計師只需要記住它"red"、"green"單詞等等,在“4”的定義之外沒有數字。
但是列舉型別使用起來也有很多限制,它們是乙個單獨的資料型別,所以不能像陣列一樣簡單地操作,而且經常要使用型別轉換,操作起來很不方便。 它很少用於實際程式設計。
-
它只是乙個整數,但值的範圍由您自己決定。
-
你說的是 C 列舉型別。 列舉是一組命名整數常量。
列舉的描述類似於結構和聯合,其形式為:列舉名稱列舉變數;
如果列舉未初始化,則將其省略"= 整數常量",識別符號 0、1、2、., 從第乙個識別符號開始分配但是,當列舉中的成員被分配時,後續成員會根據按順序新增 1 的規則確定其值。
注:1在初始化過程中可以分配負數,後續識別符號仍依次加 1。
2.列舉變數只能採用列舉說明結構中的識別符號常量。
3.列舉值是常量,而不是變數。 不能在具有賦值語句的程式中為其賦值。 無法進行自遞增和自遞減操作。
4.只能將列舉值賦值賦給列舉變數,不能將元素的數值直接賦給列舉變數。
5.列舉元素不是字元常量或字串常量,不應與單引號或雙引號一起使用。
-
我認為,列舉的主要目的是使 ** 更具可讀性。 如果沒有列舉,則可以通過其他方式實現它所要實現的功能。
列舉名稱。
列舉值本身就是乙個符號,但它具有 int 屬性。 你可以讀這本書,所以我不會多說。 列舉值是告訴您它們真正含義的名稱。
例如,撲克牌花色的列舉型別。
enum color
您也可以預設為 0 表示心形,1 表示黑桃,2 表示方塊,3 表示梅花。 在評判花色時,if(color==0)...
else if(color==1)..
else if(color==2)..
else...
您還可以使用定義定義。
#define heart 0
#define spade 1
#define diamond 2
#define club 3
但是這麼多定義顯然是不必要的,列舉不會讓你寫這麼多定義。
若要訪問列舉變數,請使用列舉名稱。 列舉值。
這樣,當你出現在程式的其他地方時,你可以清楚地看到這張牌是紅心花色的。
-
我還要補充一點:列舉的另乙個重要作用是作為編譯時常量。
-
#include
enummain()
如果對您有幫助,請記得接受它作為滿意的答案,謝謝! 祝你有美好的一天!
-
在實際程式設計中,有些資料的值往往是有限的,只有極少數的整數,最好給每個值起個名字,方便後續使用,比如一周只有七天,一年只有十二個月,一班一班每週六門課, 等。
例如,一周 7 天,我們可以使用 define 命令為每一天指定乙個名稱:
define 命令雖然解決了這個問題,但也帶來了很多 ***,導致巨集名太多,** 鬆散,總是有點讓人看不上來。 C 語言提供了乙個列舉型別列出所有可能的值並為其命名。
enum 是乙個專門用於定義列舉型別的新關鍵字,這是它在 C 語言中的唯一用途; typename 是列舉型別的名稱; valuename1, valuename2, valuename3, .是與每個值對應的名稱的列表。 注意最後; 不少。
例如,列出一周中的幾天:
如您所見,我們只給出名稱,但不給出名稱對應的值,因為列舉值預設從 0 開始,逐個新增 1(遞增); 也就是說,星期一,星期二。sun 的對應值分別為 .。6。
我們還可以為每個名稱分配乙個值:
一種更簡單的方法是僅為名字指定乙個值:
此列舉以 1 為增量開始,這相當於上面的寫入。
列舉是一種型別,您可以通過它來定義列舉變數:
還可以在定義列舉型別的同時定義變數:
使用列舉變數,可以將列表中的值分配給它:
或者:星期一、星期二、星期三用他們的數字代替。 這意味著mon、tues、wed等都不是變數,它們不占用資料區(常量區、全域性資料區、堆疊區、堆區)的記憶體,而是直接編譯到命令中並放入**區,所以不能用&來獲取它們的位址。
這就是列舉的本質。
列舉變數需要儲存乙個整數,該整數的長度與 int 相同。