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,但是只能三种类型中存储一个值
当数据项有可能使用多种格式,例如一个商品的ID可能为整数或者字符串,在这种情况下可以使用。
还有一种匿名共用体。这种共用体没有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
原因如下
强制转换时
设置枚举值的值
枚举的取值范围
看看就好