C語言枚舉(enum)和聯(lián)合(union)實(shí)例分享
使用enum進(jìn)行定義
/* 枚舉類型演示 */ #include <stdio.h> int main() { enum /*季節(jié)*/ {CHUN, XIA = 5, QIU, DONG}; printf("QIU是%d\n", QIU); }
使用union聯(lián)合進(jìn)行定義
/* 聯(lián)合演示 */ #include <stdio.h> typedef union{ int val; float fval1; } tmp; int main(){ tmp utmp = {0}; printf("&(utmp.val)是%p\n", &(utmp.val)); //所指向的地址是相同的 printf("&(utmp.fval)是%p\n", &(utmp.fval1)); }
知識點(diǎn)擴(kuò)展:
枚舉類型的定義形式為:
enum typeName{ valueName1, valueName2, valueName3, ...... };
enum是一個(gè)新的關(guān)鍵字,專門用來定義枚舉類型,這也是它在C語言中的唯一用途;typeName是枚舉類型的名字;
valueName1, valueName2, valueName3, ......是每個(gè)值對應(yīng)的名字的列表。注意最后的;不能少。
例如,列出一個(gè)星期有幾天:
enum week{ Mon, Tues, Wed, Thurs, Fri, Sat, Sun };
可以看到,我們僅僅給出了名字,卻沒有給出名字對應(yīng)的值,這是因?yàn)槊杜e值默認(rèn)從 0 開始,往后逐個(gè)加 1(遞增);也就是說,week 中的 Mon、Tues ...... Sun 對應(yīng)的值分別為 0、1 ...... 6。
我們也可以給每個(gè)名字都指定一個(gè)值:
enum week{ Mon = 1, Tues = 2, Wed = 3, Thurs = 4, Fri = 5, Sat = 6, Sun = 7 };
更為簡單的方法是只給第一個(gè)名字指定值:
enum week{ Mon = 1, Tues, Wed, Thurs, Fri, Sat, Sun };
這樣枚舉值就從 1 開始遞增,跟上面的寫法是等效的。
枚舉是一種類型,通過它可以定義枚舉變量:
enum week a, b, c;
也可以在定義枚舉類型的同時(shí)定義變量:
enum week{ Mon = 1, Tues, Wed, Thurs, Fri, Sat, Sun } a, b, c;
有了枚舉變量,就可以把列表中的值賦給它:
enum week{ Mon = 1, Tues, Wed, Thurs, Fri, Sat, Sun };
enum week a = Mon, b = Wed, c = Sat;
或者:
enum week{ Mon = 1, Tues, Wed, Thurs, Fri, Sat, Sun } a = Mon, b = Wed, c = Sat;
到此這篇關(guān)于C語言枚舉(enum)和聯(lián)合(union)實(shí)例分享的文章就介紹到這了,更多相關(guān)C語言枚舉(enum)和聯(lián)合(union)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
C語言string庫strcpy、strcmp、strcat函數(shù)的使用
這篇文章主要介紹了C語言string庫strcpy、strcmp、strcat函數(shù)的使用,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-02-02C語言學(xué)習(xí)之鏈表的實(shí)現(xiàn)詳解
鏈表是一種物理存儲結(jié)構(gòu)上非連續(xù)、非順序的存儲結(jié)構(gòu),數(shù)據(jù)元素的邏輯順序是通過鏈表中的指針鏈接次序?qū)崿F(xiàn)的。這篇文章主要介紹了C語言中鏈表的實(shí)現(xiàn),需要的可以參考一下2022-11-11C語言實(shí)現(xiàn)去除字符串中空格的簡單實(shí)例
下面小編就為大家?guī)硪黄狢語言實(shí)現(xiàn)去除字符串中空格的簡單實(shí)例。小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-05-05C++實(shí)現(xiàn)圖書管理系統(tǒng)課程設(shè)計(jì)(面向?qū)ο?
這篇文章主要為大家詳細(xì)介紹了C++實(shí)現(xiàn)圖書管理系統(tǒng)課程設(shè)計(jì),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-03-03