溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

C語言中枚舉(enum)和聯合(union)的示例分析

發布時間:2021-06-12 18:59:41 來源:億速云 閱讀:188 作者:小新 欄目:編程語言

這篇文章主要介紹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)的示例分析”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女