c語言列舉enum

2021-07-10 10:09:20 字數 1731 閱讀 2998

一、列舉的概述

在程式中,可能需要為某些整數定義乙個別名,我們可以利用預處理指令#define來完成這項工作,而我們也可以利用列舉來達到這個目的

#define mon  1

#define tue   2

#define wed  3

#define thu   4

用列舉的寫法為

enum day

;//這就是乙個列舉型別的的定義

它的含義是定義了一種為enum day變數型別(enum是個關鍵字),如果在程式中宣告乙個這樣型別的變數(例如enum day today),這種型別的變數的

取值只能整形常量,並且範

圍在括號中的值,但每次只能有乙個值。

理解列舉應該注意一下幾點:

(1) 列舉型是乙個集合,集合中的元素(列舉成員)是一些命名的整型常量,元素之間用逗號,隔開。

(2)day是乙個識別符號,可以看成這個集合的名字,是乙個可選項,即是可有可無的項。

(3) 第乙個列舉成員的預設值為整型的0,後續列舉成員的值在前乙個成員上加1。

(4) 可以人為設定列舉成員的值,從而自定義某個範圍內的整數。//這裡的數可以自由設定,不一定要按照某種規律

(5) 列舉型是預處理指令#define的替代。

(6) 型別定義以分號;結束

(7) 同乙個程式中不能有同名的列舉型別和列舉成員(列舉變數可能的取值的名稱)

列舉型別名稱的重複typedef enum

day;

typedef enum week

day;

列舉成員名稱的重複

typedef enum

badday;

typedef enum week

goodday;

二、列舉變數的宣告方式

1:列舉型別的定義和宣告在一起在一起

enum day//這裡的day可以省略掉

day;

2:列舉型別的定義

和宣告分開

enum day

//列舉型別的定義

列舉型別的說明

enum day yesterday;

enum day today;

enum day tomorrow; //變數tomorrow的型別為列舉型enum day

enum day good_day, bad_day; //變數good_day和bad_day的型別均為列舉型enum day

3:用typedef關鍵字將列舉型別定義成別名,並利用該別名進行變數宣告:

typedef enum day//此處的day可以省略掉

day; //此處的day為列舉型enum day的別名,//day可以省略掉, day today, tomorrow//相當於enum day today, tomorrow;

//上面的可以省略的兩處不能同時省略掉

C語言 列舉型別enum

列舉 將變數的值一一枚舉出來,變數的值只限於列舉出來的值的範圍內。申明列舉型別 enum weekday 定義列舉變數 enum weekday workday,week day enum workday 變數值只能是sun到sat之一 說明 1 在c編譯中,對列舉元素按常量處理,故稱列舉常量。它們...

C語言enum列舉型別

1.列舉型別的定義 列舉是在定義範圍內選取數值的變數 例如 enum itemschoice 也可以enum itemschoice 注意 1 enum是列舉變數的關鍵字 2 列舉中的元素是整數,元素之間用逗號連線 3 第乙個列舉成員的預設值為0 此處從開始 後面的成員依次增加 4 列舉可以替換 d...

C語言列舉型別(Enum)

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