结构体,共用体与枚举
- 结构体
- 结构体定义
- 一些特性
- 可继承
- 访问方式
- 构造/析构函数
- 定义
- 递归
- 嵌套
- 初始化
- 一些特性
- 结构体位字段
- 整型或枚举::位数
- 结构体定义
- 共用体
- 大小端存储
- 普通字节
- 位域成员
- 大小端存储
- 枚举
- 空间计算
- sizeof运算符
- strlen()比较
- 指针,引用,汉字及数组空间大小
- 指针:32位下4字节,64位下8字节
- 引用:引用对象大小,可求数组大小
- 汉字:2字节,utf_8三字节
- 数组:数组名当作指针大小为4字节
- 结构体空间大小
- 最大整数:32位windows超过4为8,linux+gcc还是为4
- 普通结构体
- 整体为最大成员大小整数倍
- 数据对齐
- 嵌套结构体
- 整体为子结构体中最大成员大小整数倍
- 数据对齐
- 含数组结构体
- 将数组看成单个变量依次放入
- 含位域结构体
- 相邻位域类型相同
- 加起来小于类型大小,挨着放
- 大于类型大小,对齐放
- 相邻位域类型不同
- vs2010:占用类型大小4字节
- dev和gcc:以字节为单位的实际占用大小
- 非相邻位域
- 不压缩
- 总大小对齐最宽基本类型
- 相邻位域类型相同
- 使用#pragma pack指定对齐宽度
- 取指定值和实际最宽度的最小值
- 空结构体空间大小
- 为1
- 共用体空间大小
- 最大成员的大小
- 枚举空间大小
- 看作一个整形4字节
- sizeof运算符
网友评论