C语言枚举

#include <stdio.h>

int main()
{
    /***************************************************
     * 枚举:约束一些变量的取值在一个范围,但是C语言枚举是弱类型,本质是int
     *     类型,可以任意的赋予合适的值,但是使用枚举时,应该遵守枚举对值的
     *     约束,这样才可以体现枚举的作用,还有给枚举取一个有意义的名称有益于
     *     不同人对枚举的认识。
     * 枚举定义格式(类似于结构体)
     *   enum 枚举名称
     *   {
     *      枚举常量,之间用逗号隔开(,)......
     *   };
     * 定义枚举变量:enum Season 枚举变量 = 枚举元素;
     * 枚举是整行的一种,没有给枚举赋值时,默认第一个元素为0,一次类推,
     * 后面每个比前面一个大1,如果枚举中有的元素赋值了,那么他后面的元
     * 素一个比一个大1,一次类推
     ****************************************************/
    enum Season
    {
       spring,
       summer,
       autumn,
       winter
    };
    enum Season s1 = spring;
    enum Season s2 = summer;
    enum Season s3 = autumn;
    enum Season s4 = winter;
    printf("spring %d 
", s1);
    printf("spring %d 
", s2);
    printf("spring %d 
", s3);
    printf("spring %d 
", s4);

    enum demo
    {
        one = 1,
        two,
        three,
        four
    };
    enum demo d1 = one;
    enum demo d2 = two;
    enum demo d3 = three;
    enum demo d4 = four;
    printf("one %d 
", d1);
    printf("two %d 
", d2);
    printf("three %d 
", d3);
    printf("four %d 
", d4);
    enum demo1
    {
        one1 = 1,
        one2,
        one3 = 1,
        one4
    };
    enum demo1 dd1 = one1;
    enum demo1 dd2 = one2;
    enum demo1 dd3 = one3;
    enum demo1 dd4 = one4;
    printf("one %d 
", dd1);
    printf("two %d 
", dd2);
    printf("three %d 
", dd3);
    printf("four %d 
", dd4);
     return 0;
}
spring 0 
spring 1 
spring 2 
spring 3 
one 1 
two 2 
three 3 
four 4 
one 1 
two 2 
three 1 
four 2 
原文地址:https://www.cnblogs.com/heml/p/3530982.html