结构体及共用体的大小
来源:互联网 发布:java发送微信消息接口 编辑:程序博客网 时间:2024/05/21 11:29
结构体:
第一个数据成员放在offset为0的地方,以后每个数据成员存储的起始位置要从该成员大小的整数倍开始,如:int( 在32位机中为4字节,64位机中为8字节)要从4或8的整数倍地址开始存储,需补齐。
struct A { // 所占内存大小 char ch; // 1+3 int a; // 4} // 1+3+4=8
共用体(联合体):
各个成员以同一个地址开始存放,每一个时刻只可以存储一个成员,所以只需取占内存最大的作为联合体的大小。长度为联合体中元类型(如数组,取其类型的数据长度)最大的变量长度的整数倍,且要大于等于其最大成员所占的存储空间。
union B // 所占内存大小{ char a; //1 int b[5];// 元长度:4 //4*5 double c; // 8 int d[3]; //元长度:4 //4*3} //20+4
例:下面结构体
struct s1 // 所占内存大小 { char ch,*ptr; // 1+3,4 union { short a,b; //(2,2 unsigned int c:2,d:1; //2,1) }; //2+2 struct s1 *next; //4 };
sizeof(struct s1)的值 :1+3+4+2+2+4 = 16 字节
阅读全文
1 0
- 结构体及共用体的大小
- 结构体和共用体的大小
- 如何计算结构体及共用体大小
- 共用体的大小
- C++ 字节对齐与结构体/共用体的大小
- 结构体和共用体的使用及注意事项
- 小议大小端模式对C语言的共用体结构的影响
- 小议大小端模式对C语言的共用体结构的影响
- 小议大小端模式对C语言的共用体结构的影响
- 小议大小端模式对C语言的共用体结构的影响
- 小议大小端模式对C语言的共用体结构的影响
- 小议大小端模式对C语言的共用体结构的影响
- 小议大小端模式对C语言的共用体结构的影响
- 结构体&&共用体
- 结构体,共用体
- 结构体、共用体
- 结构体、共用体
- 结构体&共用体
- 前缀、中缀、后缀的相互转换
- 打乱数组排序的算法shuffle
- Candence/Allegro启动找不到cdn_XXXX.dll文件解决方法
- 内存处理
- 学习笔记TF050:TensorFlow源代码解析
- 结构体及共用体的大小
- 怎么购买正版 EarMaster 7 练耳大师的激活码 序列号
- Beginning Spring学习笔记——第2章(二)依赖注入
- 学习笔记TF051:生成式对抗网络
- c#--将图片转换为二进制序列字符串
- java初次理解
- 初识Qt绘图QGraphicsItem
- 过TesSafe反WinDbg双机调试
- C#--两层架构基于OOP实现对象添加到数据库