C++ Primer Plus Ch4复合类型(4.4-4.6)

4.4 结构体

初始化

有三种方式

struct exp{
	int a;
	double b;
};
//初始化
exp exp1 = {
	1,
	2.0
};
exp exp2 {3,4.0};
exp exp3 {} ;//此处代表所有值为0

结构数组的初始化

结构数组的初始化

4.5 共用体

共用体可以存储不同的数据类型,例如int, double,long,但是只能三种类型中存储一个值
union

当数据项有可能使用多种格式,例如一个商品的ID可能为整数或者字符串,在这种情况下可以使用。
显示union

还有一种匿名共用体。这种共用体没有union名,但是其各个成员变量都位于相同地址。
例如下方代码中,id_num, id_char被视为widget prize中的两个成员,他们地址相同,所以可以直接用prize.id_num或者prize.id_char直接或
匿名共用体

4.6 枚举

枚举与int

真他妈难搞艹,我的理解是枚举可以转换为int, 但是int不可以转换为枚举,除非你用强制转换
在这里插入图片描述
在这里插入图片描述
同时经过测试

spectrum band;
band = red + blue; //not valid

int band2
band2 = red +blue;//valide

原因如下
在这里插入图片描述
强制转换时
在这里插入图片描述

设置枚举值的值

在这里插入图片描述

枚举的取值范围

看看就好
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值