2019-04-05 【OK】C初階8:枚舉

1. 常量符號化

程序中的數(shù)字有時含義不明困食,被稱為魔術(shù)數(shù)字毙驯。通常使用符號來表示掺出。
常用的方式有解決這種問題

  1. const

    const double PI = 3.1415926;
    // 星期
    const int SUM  = 0;
    const int MON  = 1;
    const int TUES = 2;
    const int WED  = 3;
    const int THUR = 4;
    const int FRI  = 5;
    const int SAT  = 6;
    
    
  2. #define

    #define PI 3.1415926
    // 星期
    #define SUM  0
    #define MON  1
    #define TUES 2
    #define WED  3
    #define THUR 4
    #define FRI  5
    #define SAT  6
    
    
  3. 枚舉

const#define區(qū)別

No. 比較項 #define const
1 編譯處理 預(yù)處理階段 編譯、運行階段
2 工作原理 簡單的字符串替換 有對應(yīng)的數(shù)據(jù)類型
3 存儲方式 展開,在內(nèi)存中有若干個備份 只讀變量在內(nèi)存中只有一份
4 類型檢查 沒有類型安全檢查 在編譯階段進行類型檢查
5 作用域 從定義開始掉冶,任何位置都可訪問 只能在變量作用域內(nèi)
  • 作用域
#include <stdio.h>

void func (){
    #define N 12
    const int n = 12;    
}

void main(){
    printf("%d\n",N);
    printf("%d\n",n);
}

2. 枚舉

1. 枚舉是什么被环?

枚舉是一種用戶定義的數(shù)據(jù)類型

2. 枚舉怎么用糙及?

enum 枚舉類型名{名字0,名字1,名字2,...,名字n};

枚舉大括號里面的名字是常量符號,類型為int筛欢,值依次從0n浸锨。
枚舉就是給這些常量值唇聘,規(guī)定一個名字。

enum Week{Sun,Mon,Tues,Wed,Thur,Fri,Sat};
enum Mouth{Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sept,Oct,Nov,Dec};

枚舉量可以直接作為值使用柱搜。
枚舉類型可以直接作為類型使用迟郎。

#include <stdio.h>

enum Mouth{Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sept,Oct,Nov,Dec};
int month_days[]={31,28,31,30,31,30,31,31,30,31,30,31};
char* month_names[]={"一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"};

void PrintMonth(enum Mouth m){
    printf("%s月有%d天\n",month_names[m],month_days[m]); 
}

void main(){
    enum Mouth m = Jan;
    PrintMonth(m);
}

聲明枚舉時可以指定值

// 常用進制
enum Radix{Bin=2,Oct=8,Dec=10,Hex=16};

也可以其中一個值,后續(xù)值依次加1

enum Mouth{Jan=1,Feb,Mar,Apr,May,Jun,Jul,Aug,Sept,Oct,Nov,Dec};

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末聪蘸,一起剝皮案震驚了整個濱河市谎亩,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌宇姚,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,820評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件夫凸,死亡現(xiàn)場離奇詭異浑劳,居然都是意外死亡,警方通過查閱死者的電腦和手機夭拌,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,648評論 3 399
  • 文/潘曉璐 我一進店門魔熏,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人鸽扁,你說我怎么就攤上這事蒜绽。” “怎么了桶现?”我有些...
    開封第一講書人閱讀 168,324評論 0 360
  • 文/不壞的土叔 我叫張陵躲雅,是天一觀的道長。 經(jīng)常有香客問我骡和,道長相赁,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,714評論 1 297
  • 正文 為了忘掉前任慰于,我火速辦了婚禮钮科,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘婆赠。我一直安慰自己绵脯,他們只是感情好,可當我...
    茶點故事閱讀 68,724評論 6 397
  • 文/花漫 我一把揭開白布休里。 她就那樣靜靜地躺著蛆挫,像睡著了一般。 火紅的嫁衣襯著肌膚如雪妙黍。 梳的紋絲不亂的頭發(fā)上璃吧,一...
    開封第一講書人閱讀 52,328評論 1 310
  • 那天,我揣著相機與錄音废境,去河邊找鬼畜挨。 笑死筒繁,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的巴元。 我是一名探鬼主播毡咏,決...
    沈念sama閱讀 40,897評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼逮刨!你這毒婦竟也來了呕缭?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,804評論 0 276
  • 序言:老撾萬榮一對情侶失蹤修己,失蹤者是張志新(化名)和其女友劉穎恢总,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體睬愤,經(jīng)...
    沈念sama閱讀 46,345評論 1 318
  • 正文 獨居荒郊野嶺守林人離奇死亡片仿,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,431評論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了尤辱。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片砂豌。...
    茶點故事閱讀 40,561評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖光督,靈堂內(nèi)的尸體忽然破棺而出阳距,到底是詐尸還是另有隱情,我是刑警寧澤结借,帶...
    沈念sama閱讀 36,238評論 5 350
  • 正文 年R本政府宣布筐摘,位于F島的核電站,受9級特大地震影響船老,放射性物質(zhì)發(fā)生泄漏蓄拣。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,928評論 3 334
  • 文/蒙蒙 一努隙、第九天 我趴在偏房一處隱蔽的房頂上張望球恤。 院中可真熱鬧,春花似錦荸镊、人聲如沸咽斧。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,417評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽张惹。三九已至,卻和暖如春岭洲,著一層夾襖步出監(jiān)牢的瞬間宛逗,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,528評論 1 272
  • 我被黑心中介騙來泰國打工盾剩, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留雷激,地道東北人替蔬。 一個月前我還...
    沈念sama閱讀 48,983評論 3 376
  • 正文 我出身青樓,卻偏偏與公主長得像屎暇,于是被迫代替她去往敵國和親承桥。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,573評論 2 359

推薦閱讀更多精彩內(nèi)容

  • 1. 常量符號化 程序中的數(shù)字有時含義不明根悼,被稱為魔術(shù)數(shù)字凶异。通常使用符號來表示。常用的方式有解決這種問題 cons...
    jdzhangxin閱讀 580評論 0 0
  • importUIKit classViewController:UITabBarController{ enumD...
    明哥_Young閱讀 3,819評論 1 10
  • 在實際編程中挤巡,有些數(shù)據(jù)的取值往往是有限的剩彬,只能是非常少量的整數(shù),并且最好為每個值都取一個名字矿卑,以方便在后續(xù)代碼中使...
    踩在浪花上00閱讀 785評論 0 0
  • 枚舉類型的目的 1.枚舉類型使代碼更具可讀性喉恋,理解清晰,易于維護 2.如果枚舉符號和對應(yīng)的整數(shù)值發(fā)生變化粪摘,只需修改...
    petit_prince閱讀 636評論 0 0
  • 在實際編程中,有些數(shù)據(jù)的取值往往是有限的绍坝,只能是非常少量的整數(shù)徘意,并且最好為每個值都取一個名字,以方便在后續(xù)代碼中使...
    紅葉_63b3閱讀 633評論 0 0