【带头学C++】----- 六、结构体 ---- 6.9 共用体以及枚举类型

目录

6.9 共用体以及枚举类型

6.10 枚举类型enum

1. 枚举类型的值

 2.修改enum枚举类型的值


6.9 共用体以及枚举类型

结构体:结构体用于组合不同类型的数据,每个字段占用独立的内存空间。

共用体:共用体也组合不同类型的数据,但所有字段共享同一块内存。

因此,结构体适合表示具有多个属性的对象,而共用体适合表示可以具有不同值的数据。

-------结构体struct关键字-----------------------------------共用体使用union关键字---------

共用体占用的内存大小:由内部最大成员变量类型大小决定。

union Data{
     char a;
     short b;
     int c;
};

 

解析:由于a、b、c共用一块内存空间,赋值的时候,最后一次赋值wb.c=100,同时赋值给了a和b,最后三者相加就是300;

成员a bc共享同一块空间,但是每个成员 能操作的空间的范围 是由成员自身类型长度决定。

union Data{
     char a;
     short b;
     int c;
};

Data ob;
ob.a = 0x01020304;
ob.b = 0x0102;
ob.c = 0x01;

cout<<ob.a+ob.b+ob.c<<endl;  /等于  0x01020203

a是char类型一个字节、b是short类型两个字节,int c是4个字节。(32和64位这三者都一样)

(图片中地址存在错误,这个点只需要知道能操作的空间的范围 是由成员自身类型长度决定)

6.10 枚举类型enum

1. 枚举类型的值

enum Weekday {
    Monday,
    Tuesday,
    Wednesday,
    Thursday,
    Friday,
    Saturday,
    Sunday
};

在上述枚举类型中,Monday被赋值为0,Tuesday被赋值为1,依此类推。可以使用这些枚举常量来代替对应的整数值,使代码更加可读和易于理解。

 2.修改enum枚举类型的值

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序小白Erike.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值