美文网首页
构造类型-枚举类型

构造类型-枚举类型

作者: 晓晓桑 | 来源:发表于2020-04-19 20:45 被阅读0次

    作用:声明代表整数常量的名称。(就是给整数起个名)
    目的:提高代码的可读性。
    本质:一组有名字的int常数,默认是从0开始,依次递增赋值(0,1,2...)。
    声明枚举类型:
    类型声明和结构体一样:有名字,无名字

    #include <stdio.h>
    #include <string.h>
    #include <stdlib.h>
    
    enum Color {
      //名字不能重复
        //默认值分别是0,1,2,3,4
       //这些名字不是变量,他们只是一个名字
        enum_red,
        enum_black,
        enum_white,
        enum_blue,
        enum_yellow
    };
    int main(void) {
        //不需要定义变量 再.什么的,直接使用
        printf("%d,%d,%d,%d,%d", enum_red, enum_black, enum_white, enum_blue, enum_yellow);//0,1,2,3,4
        return 0;
    }
    

    指定枚举的范围

    enum_red=20,后面依次递增

    #include <stdio.h>
    #include <string.h>
    #include <stdlib.h>
    
    enum Color {
        //默认值分别是0,1,2,3,4
       enum_red=20,
        enum_black,
        enum_white,
        enum_blue,
        enum_yellow
    };
    
    int main(void) {
        printf("%d,%d,%d,%d,%d", enum_red, enum_black, enum_white, enum_blue, enum_yellow);//20,21,22,23,24
        return 0;
    }
    

    enum_white=20,前面取默认值,后面依次递增

    #include <stdio.h>
    #include <string.h>
    #include <stdlib.h>
    
    enum Color {
        //默认值分别是0,1,2,3,4
        enum_red,
        enum_black,
        enum_white=20,
        enum_blue,
        enum_yellow
    };
    
    int main(void) {
        //不需要定义变量 再.什么的,直接使用
        printf("%d,%d,%d,%d,%d", enum_red, enum_black, enum_white, enum_blue, enum_yellow);//0,1,20,21,22
        return 0;
    }
    

    各种指定值

    #include <stdio.h>
    #include <string.h>
    #include <stdlib.h>
    
    enum Color {
        //默认值分别是0,1,2,3,4
        enum_red=23,
        enum_black=90,
        enum_white=20,
        enum_blue=44,
        enum_yellow=56
    };
    
    int main(void) {
        //不需要定义变量 再.什么的,直接使用
        printf("%d,%d,%d,%d,%d", enum_red, enum_black, enum_white, enum_blue, enum_yellow);//23,90,20,44,56
        return 0;
    }
    

    声明枚举变量

    enum的大小是:4字节

    #include <stdio.h>
    #include <string.h>
    #include <stdlib.h>
    
    enum Color {
        //默认值分别是0,1,2,3,4
        enum_red = 23,
        enum_black = 90,
        enum_white,
        enum_blue = 44,
        enum_yellow = 56
    } color1;
    
    int main(void) {
        enum Color color = enum_red;
        color = 2;
        printf("%d", sizeof(enum Color));//4
        return 0;
    }
    

    相关文章

      网友评论

          本文标题:构造类型-枚举类型

          本文链接:https://www.haomeiwen.com/subject/kzjibhtx.html