struct 结构体内存对齐方式
来源:互联网 发布:sql while循环 编辑:程序博客网 时间:2024/06/02 09:01
以下都以32位机器为例分析结构体类型的变量在内存里的存储:
一、
1. 结构体变量的存储位置都是在内存中寻找地址是该变量自身大小整数倍开始存储的。
2. 结构体类型变量的总大小应是该类型成员中最大数据类型的整数倍。
就此两点,可以解决所有问题, 对于第一条,应该注意每一位成员存放的首地址定为自身的整数倍。
例子如下:
struct X
{
int e;
double a;
char b;
int c;
char d;
}S;
该类型的变量占用的存储空间大小32字节,
二、对于任何指针类型的变量,其占用的大小都为4字节
三、结构体中嵌套结构体,对于该嵌套结构体的对齐应以该嵌套结构体里最大的数据类型为对齐方式。
例子如下:
struct X
{
char a;
int b;
double c;
};
struct Y
{
char a;
X b;
};
sizeof(X) 为16, sizeof(24).
- struct 结构体内存对齐方式
- 关于结构体内存的对齐方式
- 关于结构体内存对齐方式
- 结构体内存对齐
- 结构体内存对齐
- 结构体内存对齐
- 结构体内存对齐
- 结构体内存对齐
- 结构体内存对齐
- 结构体内存对齐
- 结构体内存对齐
- 结构体内存对齐
- 结构体内存对齐
- 结构体内存对齐
- 结构体内存对齐
- 结构体内存对齐
- 结构体内存对齐
- 结构体内存对齐
- vector 容器使用时应该注意的内存分配问题
- 深入理解iputils网络工具-第3篇 clockdiff:时间比对程序
- 社会化评论为网站发展提供强力驱动
- pthread_mutex_init函数《代码》
- SweepGradient扫描渲染
- struct 结构体内存对齐方式
- javascript系列---如何优化js
- 开始学习与记录
- 做一个聪明的矿工
- Core Java第十章知识点总结——Object类 包装类 内部类
- 算法导论-25.2-Floyd-Wasrshall算法
- Hibernate数据对象的三种状态
- Android ramdisk.img system.img userdata.img介绍与使用
- U-Boot启动过程完全分析