设为首页 加入收藏

TOP

C语言 enum 枚举 注意要点
2014-11-23 19:55:49 来源: 作者: 【 】 浏览:15
Tags:语言 enum 枚举 注意 要点

枚举定义的三种方式

(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关键字,但意义确大不相同;第二种用法是声明了一个枚举变量,第三种用法是声明了一个枚举类型。

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇深入理解C语言-08 库函数 下一篇C语言深度解析1-内存结构

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: