日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

C语言enum关键字

發布時間:2023/12/18 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C语言enum关键字 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
很多初學者對枚舉(enum)感到迷惑,或者認為沒什么用,其實枚舉(enum)是個很有用的數據類型。

一、枚舉類型的使用方法

一般的定義方式如下:
enum enum_type_name
{
? ?ENUM_CONST_1,
? ?ENUM_CONST_2,
? ?...
? ?ENUM_CONST_n
} enum_variable_name;

注意:enum_type_name 是自定義的一種數據數據類型名,而enum_variable_name 為enum_type_name類型的一個變量,也就是我們平時常說的枚舉變量。實際上enum_type_name類型是對一個變量取值范圍的限定,而花括號內是它的取值范圍,即enum_type_name 類型的變量enum_variable_name 只能取值為花括號內的任何一個值,如果賦給該類型變量的值不在列表中,則會報錯或者警告。ENUM_CONST_1、ENUM_CONST_2、...、ENUM_CONST_n,這些成員都是常量,也就是我們平時所說的枚舉常量(常量一般用大寫)。

enum 變量類型還可以給其中的常量符號賦值,如果不賦值則會從被賦初值的那個常量開始依次加1,如果都沒有賦值,它們的值從0 開始依次遞增1。如分別用一個常數表示不同顏色:
enum Color
{
? ?GREEN = 1,
? ?RED,
? ?BLUE,
? ?GREEN_RED = 10,
? ?GREEN_BLUE
}ColorVal;

其中各常量名代表的數值分別為:
? ?GREEN = 1
? ?RED = 2
? ?BLUE = 3
? ?GREEN_RED = 10
? ?GREEN_BLUE = 11

二、枚舉與#define 宏的區別

下面再看看枚舉與#define 宏的區別:
1)#define 宏常量是在預編譯階段進行簡單替換。枚舉常量則是在編譯的時候確定其值。
2)一般在編譯器里,可以調試枚舉常量,但是不能調試宏常量。
3)枚舉可以一次定義大量相關的常量,而#define 宏一次只能定義一個。

留兩個問題:
A),枚舉能做到事,#define 宏能不能都做到?如果能,那為什么還需要枚舉?
B),sizeof(ColorVal)的值為多少?為什么?

總結

以上是生活随笔為你收集整理的C语言enum关键字的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。