iOS 学习历程

iOS 学习心得记录之:C语言6种定义枚举的方法

2017-02-07  本文已影响9人  人话博客
#include <stdio.h>

int main(int argc, const char * argv[]) {
    //定义枚举的第一种方式
    enum KIColor {
        iBlueColor = 1,
        iYellowColor = 2,
        IBlackColor
    };
    
    //使用枚举
    enum KIColor ki = IBlackColor;
    printf("ki = %d\n",ki);
    
    //定义枚举的第二种方式[匿名枚举]
    enum {
        bad,
        normal,
        good,
        better,
        best
    } myEnum;
    
    myEnum = bad;
    
    printf("myEnum = %d\n",myEnum);//枚举变量默认从0开始
    
    //定义枚举的第三种方式
    enum Department {
        IT,
        Developer = 4,
        Sale,
        Dbo
    } depart;
    
    depart = Dbo;
    
    printf("depart = %d\n",depart);
    
    //--------- typedef -----
    //使用typedef 定义标准枚举 (typedef的意义在于,给存在的类型取一个别名,并且在使用时,可以省略一个关键字)
    typedef enum DayOfWeek {
        Monday = 1,
        Tusday = 2,
        Wednesday = 3,
        Thursday = 4,
        Friday = 5,
        Saturday = 6,
        Sunday = 7
    } Dow;
    
    
    Dow dow = Monday;
    printf("dow = %d\n",dow);
    
    //使用typedef 定义匿名枚举
    
    typedef enum {
        Samoyed,
        Husky,
        ShibaInu
    } DogType;
    
    
    DogType dt = Samoyed;
    
    printf("dt = %d\n",dt);
    
    //使用typedef 给存在的枚举取别名
    typedef DogType DogType2;
    
    DogType2 dt2 = Husky;
    printf("dt2 = %d\n",dt2);
    
    
    
    
    return 0;
}

总结:

1、和枚举一模一样

2、使用typedef的好处之一:在使用枚举类型的时候可以省略一个enum的关键字。这样的写法更符合直觉。

上一篇下一篇

猜你喜欢

热点阅读