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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

C语言中为什么要使用enum

發(fā)布時間:2024/4/18 编程问答 51 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C语言中为什么要使用enum 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

版權(quán)聲明:本文為博主原創(chuàng)文章,轉(zhuǎn)載請注明出處,查看原文章,請訪問:http://blog.csdn.net/xingjiarong https://blog.csdn.net/xingjiarong/article/details/47275971
轉(zhuǎn)載請注明出處,否則將追究法律責任http://blog.csdn.net/xingjiarong/article/details/47275971

在C語言中有一個關鍵字是enum,枚舉類型,不知道大家平時用嗎,但是enum關鍵字在有些時候是非常方面的,下面說一下使用enum關鍵字的幾種情況。

一、一次定義多個常量。

比如說我們的程序中處理問題時與星期幾有關,可能要將星期一轉(zhuǎn)換為數(shù)字1,星期二轉(zhuǎn)換為數(shù)字2,一直到數(shù)字7,在不用enum關鍵字的情況下,可以使用define來定義,但是大家會覺得很麻煩,因為你要一個一個的定義,星期的還好說,只有7天,如果是月份呢,一年有12個月份,那就要寫12個define,非常的不方面,如果利用enum的話就會非常的方便。

#include<stdio.h>

enum week {Mon=1,Tue,Wed,Thu,Fri,Sat,Sun};

int main()
{
? ? printf("%d",Tue);
? ? return 0;
}

1
2
3
4
5
6
7
8
9
10
11
這樣定義以后,Mon的值為1,Tue的值為2,Wed的值為3,一次類推。?
然后就可以像使用define之后的常量一樣的使用定義的7個值了。

如果開頭不寫Mon=1的話,Mon的默認值為0,然后從0開始增長。例如:

enum color {red,blue,green,yellow};
1
如果這樣定義的話,red的值為0,blue的值為1,然后一次增長。

如果從中間開始賦值的話:

enum color {red,blue,green=5,yellow};
1
那么red到blue是按照默認的從0開始增長的,green就是定義的值5,然后green之后的值都是從5開始增長的。

當然你也可以為每個枚舉的變量都賦值,這樣就和全都用define定義是一樣的了,如果枚舉中有某個值沒有被賦值,那么它將是從前一個賦值的變?
量開始,一次增加1.

二、限定變量的范圍

比如我們的應用程序中要處理有關月份的東西,顯然月份只能取1-12中的某個數(shù)字,為了保證程序的正確性和健壯性,我們應該使用enum。

#include<stdio.h>

enum Month {Jan=1,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,dec};

int main()
{
? ? enum Month a = ?Feb;
? ? printf("%d",a);
? ? return 0;
}

1
2
3
4
5
6
7
8
9
10
11
12
比如像這樣,定義的枚舉類型 a 的取值只能是那12個變量中的一個,如果賦予了其他的變量,編譯器就會報錯。

使用enum可以有一下幾種方法:

1、在定義enum的同時,聲明變量:

enum Month {Jan=1,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,dec} a,b;
1
這樣就聲明了兩個枚舉類型a和b

2、定義完enum之后再聲明變量:

enum Month {Jan=1,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,dec};
enum Month a = ?Feb;
1
2
3、定義匿名的枚舉變量

enum ?{Jan=1,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,dec} a;
1
這樣的話,只能使用a這一個枚舉類型的變量,不能再定義其他的枚舉類型。
---------------------?
作者:xingjiarong?
來源:CSDN?
原文:https://blog.csdn.net/xingjiarong/article/details/47275971?utm_source=copy?
版權(quán)聲明:本文為博主原創(chuàng)文章,轉(zhuǎn)載請附上博文鏈接!

總結(jié)

以上是生活随笔為你收集整理的C语言中为什么要使用enum的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。