這篇文章主要介紹C語言中枚舉(enum)和聯合(union)的示例分析,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
使用enum進行定義
/* 枚舉類型演示 */ #include <stdio.h> int main() { enum /*季節*/ {CHUN, XIA = 5, QIU, DONG}; printf("QIU是%d\n", QIU); }
使用union聯合進行定義
/* 聯合演示 */ #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)); }
知識點擴展:
枚舉類型的定義形式為:
enum typeName{ valueName1, valueName2, valueName3, ...... };
enum是一個新的關鍵字,專門用來定義枚舉類型,這也是它在C語言中的唯一用途;typeName是枚舉類型的名字;
valueName1, valueName2, valueName3, ......是每個值對應的名字的列表。注意最后的;不能少。
例如,列出一個星期有幾天:
enum week{ Mon, Tues, Wed, Thurs, Fri, Sat, Sun };
可以看到,我們僅僅給出了名字,卻沒有給出名字對應的值,這是因為枚舉值默認從 0 開始,往后逐個加 1(遞增);也就是說,week 中的 Mon、Tues ...... Sun 對應的值分別為 0、1 ...... 6。
我們也可以給每個名字都指定一個值:
enum week{ Mon = 1, Tues = 2, Wed = 3, Thurs = 4, Fri = 5, Sat = 6, Sun = 7 };
更為簡單的方法是只給第一個名字指定值:
enum week{ Mon = 1, Tues, Wed, Thurs, Fri, Sat, Sun };
這樣枚舉值就從 1 開始遞增,跟上面的寫法是等效的。
枚舉是一種類型,通過它可以定義枚舉變量:
enum week a, b, c;
也可以在定義枚舉類型的同時定義變量:
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;
以上是“C語言中枚舉(enum)和聯合(union)的示例分析”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。