码迷,mamicode.com
首页 > 编程语言 > 详细

揭开枚举类的面纱(Unlocking the Enumeration/enum Mystery)

时间:2015-08-13 17:27:14      阅读:125      评论:0      收藏:0      [点我收藏+]

标签:

枚举给用户定义固定数据组提供了方便。枚举类就是一系列常量整型值,这也就意味着枚举类型不能被修改。

这里我们将要讨论C语言中枚举类型的用法和限制。

枚举通过枚举关键值定义,类似结构体定义

语法(Syntax):

enum tagname{CONST1=1,CONST2,…} enumVariable;

tagname枚举类型名,这一项可以省略。

{CONST1=1,CONST2,…}一组代替常量值的字符串,每个字符串对应一个整型数据,整形数据从0开始,第二个是1,等等。除非使用者自己定义类如CONST1=1,否则,字符串的序号就是字符串对应的整形值。如果用户自己指定字符串对应的整型值,那它后面的字符串所对应的整形值就是跟着前面的连续值。说起来不清楚,举个例子,CONST2=6,这个元素后面的元素的值就是相应的7,8,9等等。

enumVariable,枚举类型的变量列表。枚举类型的变量是整型的,除了枚举常量,这些变量可以被赋值任何整型数据。这个定义也是可选的,像结构体一样的,也可以在后面程序中定义:

enum tagname enumVariable;

下面是枚举类型使用范例:

#include <stdio.h>
 
//Defining the enum
enum week
{
MONDAY= -1,TUESDAY,WEDNESDAY,THURSDAY=6,FRIDAY,SATURDAY,SUNDAY
};
 
int main(void)
{
    //Declaring an enum in the program
    enum week day=FRIDAY;
     
    switch(day)
    {
        case MONDAY:
        printf("Monday Sucks");
        break;
         
        case SATURDAY:
        printf("Weekends are fun");
        break;
         
        case SUNDAY:
        printf("Weekends are fun");
        break;
         
        default:
        printf("It depends on the mood :D %d",day);
        break;
    }
     
    return 0;
}

揭开枚举类的面纱(Unlocking the Enumeration/enum Mystery)

标签:

原文地址:http://www.cnblogs.com/programnote/p/4727795.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!