自然对齐:sizeof struct, union
来源:互联网 发布:d3.js 地图热力图 编辑:程序博客网 时间:2024/04/29 11:45
本文为senlie原创,转载请保留此地址:http://blog.csdn.net/zhengsenlie
自然对齐:
1.一个类型实例的大小要能整除其地址值。
2.数组有着和数组里类型本身相同的对齐要求。
3.一个聚集类型的实例,其对齐要求最严格的子类型的排列要能整除聚集的地址
在32位机器上,
内建类型主要考虑它的存放地址值
char的大小为1(以字节计),所以它可以被存储在内存的任意地址处
short的大小为2,所以它只能存储在“偶数”地址处
integer和指针的大小为4(32位机上一个字为4个字节),所以它们只能存储在一个字界中
double的大小为8,所以它只能存储在两个字界中
自定义类型除了考虑它内部的内建类型的存放地址值外,还要考虑它的类型实例的大小。如果该大小不能整除其地址值。则要在其后padding
示例:struct
示例:union --》union的大小为联合中最大的变量长度的整数倍
#include <iostream>using namespace std;union {int a;char b[2];} u;int main(int argc, char *argv[]){u.b[0] = 0x01;u.b[1] = 0x11;int a = 0x1101;cout << sizeof(u) << endl;cout << u.a << endl;cout << a << endl;system("pause");}输出:
4
4353
4353
参考:《大规模C++程序设计》
0 0
- 自然对齐:sizeof struct, union
- union, struct , sizeof. 对齐
- sizeof union struct 内存对齐
- sizeof union struct 内存对齐
- sizeof (union) (struct) 内存对齐方式
- struct union数据对齐和sizeof大小
- sizeof(union) 、sizeof(struct) 和内存对齐技术
- 神秘的 sizeof(union) 、sizeof(struct) 和内存对齐技术
- 神秘的 sizeof(union) 、sizeof(struct) 和内存对齐技术
- struct和 union用 sizeof 看字节对齐
- sizeof struct&union
- sizeof union和struct
- sizeof(struct)和sizeof(union)
- sizeof(struct)与sizeof(union)
- struct union 内存对齐
- union struct 内存对齐
- struct/union内存对齐
- 【C++ Primer】 神秘的 sizeof(union) 、sizeof(struct) 和内存对齐技术
- newButton.Click+=new EventHandler(newButton_Click);
- 昆明半程马拉松:1名选手死亡5名选手昏迷(图)
- 7个示例科普CPU Cache
- (16)JS实现简单的选项卡
- 黑马程序员_SQL SERVER 学习笔记.约束
- 自然对齐:sizeof struct, union
- js实现网页自动刷新
- Lua学习与交流——Lua os.date 和 os.time 分享
- Dependency injection and inversion of control
- django notes 5 urlconfig
- DirectX 9.0 (5) 点光源
- CNN Features off-the-shelf: an Astounding Baseline for Recognition
- 常见浏览器兼容性问题与解决方案
- 归并排序的一种c++实现