美文网首页
共用体和枚举类型

共用体和枚举类型

作者: KeHaoo | 来源:发表于2020-04-24 11:44 被阅读0次
共用体

共用体就是多个不同类型的数据共用一个内存空间

定义
union MyUnion{
    int i;
    char c;
    float f;
};
初始化
union MyUnion myUnion;
//不能对多个成员同时初始化
union MyUnion myUnion1 = {16};//对第一个初始化
union MyUnion myUnion2 = { .c = 'j' };//对指定的进行初始化
使用
myUnion.i = 97;
printf("%d\n", myUnion.i);
printf("%c\n", myUnion.c);
printf("%f\n", myUnion.f);

运行结果



因为输入的是设置的是97 而共用体是内存复用的,所以当使用char读取的时候就会读取到最后一个字节,内容就是‘a’ ,同样浮点型数据也是如此

枚举
enum Weekday
{
    sun,mon,tue,wed,thu,fri,sat
};

void enumTest(){
    enum Weekday workday, weekend;
    workday = mon;
    weekend = sat;
}

赋值的时候必须是定义枚举的时候里面已经有的常量
每个枚举元素都代表一个整数,默认的情况下是从0开始按顺序计数
如sun=0,mon=1,······以此类推
可以直接输出

printf("sum=%d\n", sun);
printf("workday=%d", workday);

也可以在定义的时候设置值,未设置的默认在前一个的基础上+1

enum Weekday
{
    sun = 7,mon,tue=2,wed,thu,fri,sat
};
void enumTest(){
    enum Weekday workday, weekend;
    workday = mon;
    weekend = sat;
    printf("sum=%d\n", sun);
    printf("mon=%d\n", mon);
    printf("tue=%d\n", tue);
    printf("wed=%d\n", wed);
    printf("workday=%d", workday);
}

人为设置可能造成值的重复

enum Weekday
{
    sun = 7,mon,tue=6,wed,thu,fri,sat
};

void enumTest(){
    enum Weekday workday, weekend;
    workday = mon;
    weekend = sat;
    printf("sum=%d\n", sun);
    printf("mon=%d\n", mon);
    printf("tue=%d\n", tue);
    printf("wed=%d\n", wed);
    printf("workday=%d\n", workday);
    if (sun == wed){
        printf("sun == wed");
    }
    else{
        printf("sun != wed");
    }
}
image.png

相关文章

  • 共用体和枚举类型

    共用体 共用体就是多个不同类型的数据共用一个内存空间 定义 初始化 使用 运行结果 因为输入的是设置的是97 而...

  • Swift学习 -- 数据类型

    Swift的数据类型介绍: 整型,浮点型,对象类型,结构体类型,枚举类型,共用体类型等等 下面主要介绍整型和浮点型...

  • C语言基础 之 共用体类型

    共用体类型 共用体类型的说明和变量定义 共用体类型又称“联合类型”,简称共用体。共用体类型的说明和变量的定义方式与...

  • C++ - 用户自定义数据类型

    C++允许用户根据需要自己声明一些类型,包括数组、结构体类型、共用体类型、枚举类型、类类型 结构体类型 在一个组合...

  • 以最简单的方式学习C语言(四)

    C语言数据类型 1.基本类型:整型,实型(浮点型),字符型,枚举型。 2.构造类型:数组类型,结构体类型,共用体...

  • 第四章 复合类型(5)共用体与枚举

    (五)共用体与枚举 1.共用体(union) 共用体是一种数据格式,它能够存储不同的数据类型,但在同一时刻只能存...

  • c语言知识简记

    1.四种数据类型:基本类型(整型、实型、字符型、枚举类型)、构造类型(数组、结构体、共用体)、指针类型、空类型2....

  • Day11

    共用体 枚举 枚举的基本概念 枚举的作用域枚举作用域和结构体作用域一样, 定义枚举变量和结构体一样 局部变量和全局...

  • C语言基础 之 复合数据类型和类型定义

    复合类型是一种自定义类型,用于扩展基本数据类型。复合数据类型包括:结构类型、共用体类型和枚举类型。 用 typed...

  • 14 C共用体 && 枚举

    1、why共用体 2、枚举

网友评论

      本文标题:共用体和枚举类型

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