程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> C語言 enum 枚舉 注意要點

C語言 enum 枚舉 注意要點

編輯:關於C語言

枚舉定義的三種方式

(1)

#include 

enum ENUM_TEST 
{
  ENUM_EST1=1,
  ENUM_EST2,
    ENUM_EST3,
    ENUM_EST4,
    ENUM_EST5,
    ENUM_EST6,
    ENUM_EST7,
    ENUM_EST8,
    ENUM_EST9,
    ENUM_EST10,
};
int main()
{
    enum ENUM_TEST enum_test;
    enum_test = ENUM_EST10 + 1;
    printf("enum_test=%d\n", enum_test); 
    return 0;
}
結果:enum_test=11

(2)

#include 

enum
{
    ENUM_EST1=1,
    ENUM_EST2,
    ENUM_EST3,
    ENUM_EST4,
    ENUM_EST5,
    ENUM_EST6,
    ENUM_EST7,
    ENUM_EST8,
    ENUM_EST9,
    ENUM_EST10,

}ENUM_TEST;

int main()
{
    ENUM_TEST = ENUM_EST10 + 1;
    printf("enum_test=%d\n", ENUM_TEST); 
    return 0;
}
結果:enum_test=11

(3)

#include 

typedef enum
{
    ENUM_EST1=1,
    ENUM_EST2,
    ENUM_EST3,
    ENUM_EST4,
    ENUM_EST5,
    ENUM_EST6,
    ENUM_EST7,
    ENUM_EST8,
    ENUM_EST9,
    ENUM_EST10,
}ENUM_TEST;

int main()
{
    ENUM_TEST enum_test;
    enum_test = ENUM_EST10 + 1;
    printf("enum_test=%d\n", enum_test); 
    return 0;
}
結果:enum_test=11

注意1:

給枚舉變量賦值,如果數值超過了枚舉的取值范圍,則結果是不確定的,如上述三個例子。

注意2:

最後一個枚舉元素可以有“,”也可以沒有

注意3:

第一種用法,在聲明enum_test變量時必須用enum ENUM_TEST 聲明,而不能只用ENUM_TEST;在C++中兩種都是可以的。

第一種用法和第三種用法,都是聲明了一種類型;

第二種用法和第三種用法,雖然只相差一個typedef關鍵字,但意義確大不相同;第二種用法是聲明了一個枚舉變量,第三種用法是聲明了一個枚舉類型。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved