




免费预览已结束,剩余1页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
内存对齐在我们的程序中,数据结构还有变量等等都需要占有内存,在很多系统中,它都要求内存分配的时候要对齐,这样做的好处就是可以提高访问内存的速度。我们还是先来看一段简单的程序:程序一1 #include 2 using namespace std;3 4 struct X15 6 int i;/4个字节7 char c1;/1个字节8 char c2;/1个字节9 ;10 11 struct X212 13 char c1;/1个字节14 int i;/4个字节15 char c2;/1个字节16 ;17 18 struct X319 20 char c1;/1个字节21 char c2;/1个字节22 int i;/4个字节23 ;24 int main()25 26 coutlong sizeof(long)n;27 coutfloat sizeof(float)n;28 coutint sizeof(int)n;29 coutchar sizeof(char)n;30 31 X1 x1;32 X2 x2;33 X3 x3;34 coutx1 的大小 sizeof(x1)n;35 coutx2 的大小 sizeof(x2)n;36 coutx3 的大小 sizeof(x3)n;37 return 0;38 这段程序的功能很简单,就是定义了三个结构X1,X2,X3,这三个结构的主要区别就是内存数据摆放的顺序,其他都是一样的,另外程序输入了几种基本类型所占用的字节数,以及我们这里的三个结构所占用的字节数。这段程序的运行结果为:1 long 42 float 43 int 44 char 15 x1 的大小 86 x2 的大小 127 x3 的大小 8结果的前面四行没有什么问题,但是我们在最后三行就可以看到三个结构占用的空间大小不一样,造成这个原因就是内部数据的摆放顺序,怎么会这样呢?下面就是我们需要讲的内存对齐了。内存是一个连续的块,我们可以用下面的图来表示, 它是以4个字节对一个对齐单位的:图一让我们看看三个结构在内存中的布局:首先是 X1,如下图所示X1 中第一个是 Int类型,它占有4字节,所以前面4格就是满了,然后第二个是char类型,这中类型只占一个字节,所以它占有了第二个4字节组块中的第一格,第三个也是char类型,所以它也占用一个字节,它就排在了第二个组块的第二格,因为它们加在一起大小也不超过一个块,所以他们三个变量在内存中的结构就是这样的,因为有内存分块对齐,所以最后出来的结果是8,而不是6,因为后面两个格子其实也算是被用了。再次看看X2,如图所示X2中第一个类型是Char类型,它占用一个字节,所以它首先排在第一组块的第一个格子里面,第二个是Int类型,它占用4个字节,第一组块已经用掉一格,还剩3格,肯定是无法放下第二Int类型的,因为要考虑到对齐,所以不得不把它放到第二个组块,第三个类型是Char类型,跟第一个类似。所因为有内存分块对齐,我们的内存就不是8个格子了,而是12个了。再看看X
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 双一流背景下高校学报的国际化发展趋势
- 动力电池回收市场发展中的法律与技术融合探讨
- 以学生为中心提升协同育人参与感与认同感
- 高校思想政治教育与学生情感认同之间的互动分析
- 高性能隔热材料在住宅建筑中的应用分析
- 智能化课程内容设计与新闻学专业教学改革
- 上市公司股权激励对创新文化建设的影响
- 智能化技术推动钢铁行业绿色发展的作用
- 加强固定资产盘点过程中的跨部门沟通与协作机制
- 土壤污染排查信息化管理平台建设
- 百果园加盟合同协议书
- 2025届上海市虹口区初三一模英语试卷(含答案和音频)
- 办公室年度活动策划方案
- X线检查技术各部位X线摄影检查技术上肢讲解
- 微电网经济性评估模型-洞察分析
- 湖北省定点零售药店医疗保障服务协议范本模板(2025版)
- 2024版电动车出口业务协议示例版B版
- 铁路安全员c证考试题库单选题100道及答案
- 《山东省既有建筑改造工程消防设计审查验收技术指南》
- 2024年拖拉机进出口贸易合同范本3篇
- 智能计算系统:从深度学习到大模型 第2版课件 第三章-深度学习应用
评论
0/150
提交评论