结构体不同于数组,数组是同类型同尺寸的元素集合,而结构体是不同类型和尺寸的变量或者常量的集合。另外一个不同是,数组元素通过索引访问,结构体成员通过成员名称访问。
1.结构体声明
将结构体声明为用户自定义结构类型不分配任何存储区。在给用户自定义类型的结构体赋值以前,必须声明一个这种用户自定义类型的变量。
2.结构体赋值
用'{ }和拼接运算符{ }互相区别开
1)结构体成员的名称赋值:
2)把结构体表达式赋值给结构体
按顺序,或者按结构体表达式中的名称,不能混用。
3)结构体表达式中的默认值(上图)
使用default关键字,将所有多个成员指定为默认值。默认值优先级关系
3.压缩与非压缩结构体
1)压缩结构体
2)压缩结构体的操作
非压缩结构体的操作都适用于压缩结构体。由于压缩结构体以向量形式存储,对整个压缩结构体的操作也是以向量形式,因此对向量的算数操作,移位操作和逻辑操作等都可以用于压缩结构体。
3)有符号的压缩结构体