免费预览已结束,剩余1页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
引言:结构对齐的目的是为了加快取数据时的速度,不同的编译器有不同的标准,有关于字节对齐的,也有关于字节对齐的,解题时需跟据环境具体分析。环境:ubuntu10.10 gcc 判断结构大小,只需要注意两点即可:1.分析结构成员: 小于4字节的结构成员,相对起始地址要在成员大小的倍数上Char 1 char 类型可以从任何地址开始Short 2 short 类型需要相对结构起始地址以 2 的倍数处开始Int 4大于4 4 对齐 如 double 大小为 8字节,只需按4字节对齐即可2.整个结构要关于最大的成员大小对齐(不大于4) 如果结构最大的成员是 short 那么结构的大小应是 2 的倍数,(不足时在结构末尾补足) 如果最大成员是 int ,则应是 4 的倍数。 如果是 double ,则是 4 的倍数。为什么是 4 的倍数? 这是GCC默认的对齐大小,可以修改。VC下应该默认是8。测试,以下结构的大小是?struct com char c1; 1字节 由下面的对齐知道 占用了 4 字节 long tt; 关于 4 字节对齐 占用了 4 字节 int c9; 关于 4 字节对齐 占用了 4 字节 short c3; 关于 2 字节对齐 占用了 4 字节 double c4; 关于4字节对齐 占用了 8 字节; 4 的倍数, 所以大小共 24 字节。struct T char a; double b;struct TT short a; char b; short aa;struct A char c; double d; short s; char sf5;struct B short s; char sf5; char c; double d; ;struct C char c; short s; char sf5; double d; ;struct D double d; char sf5; short s; char c; ;struct E char c; char sf5; double d; short s;#include struct A /QT/Cfree下 GCC下 charc;/8byte 4 doubled;/8byte 8 shorts;/7byte 4 char sf5;/2 4a1;/24struct B shorts;/7byte 2 char sf5;/0 5 charc;/1byte 1 doubled;/8byte 8a2;/16struct C charc;/2byte 1 shorts;/7byte char sf5;/7 doubled;/8bytea3;/24struct D doubled;/13byte char sf5;/1 shorts;/2byte charc;/8bytea4;int main()/*a.c=a;a.d=5.2356;a.s=3;/a.sf5=xuwe;不能这样赋值 */printf(%dn,sizeof(a1);printf(%dn,sizeof(a2);printf(%dn,sizeof(a3);printf(%dn,sizeof(a4);/struct A a1=a,5.2356,3,xuwe;printf(%dn,&a1.c);printf(%dn,&a1.d);printf(%dn,&a1.s);printf(%dn,&a1.sf5);printf(n); printf(%dn,&a2.s);printf(%dn,&a2.sf5);printf(%dn,&a2.c);printf(%dn,&a2.d);printf(n);printf(%dn,&a3.c);printf(%dn,&a3.s);printf(%dn,&a3.sf5);printf(%dn,&a3.d);printf(n);printf(%
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 危险化学品经营企业安全知识考题及答案
- 卫生专业技术资格考试训练题集及答案
- 物业消防安全整改报告(共4篇)
- 乡村全科执业助理医师=考题及答案解析
- 新保险代职考综合试卷及答案
- 证券投资顾问考试题及答案
- 医疗器械岗位职责、质量管理制度培训试题及答案
- 渔业安全生产培训试题及答案
- 中国糖尿病防治指南试题及答案
- 中石化销售企业油品储运调和操作工高级工题库及答案
- 台风应急预案演练方案
- 儿童创伤急救的特点与处理流程
- 学校桶装饮用水采购供应合同协议书范本
- 最高人民法院各法庭关于建设工程施工合同无效情况下管理费如何处理的纪要和解答
- 全国计算机等级考试《三级网络技术》历年真题及解析
- 抽水蓄能电站施工监理规范征求意见稿-0920
- 大学物理(二)智慧树知到期末考试答案章节答案2024年上海电力大学
- NB-T 20580.9-2021 核电厂建设工程概算定额 第9部分:常规岛电气设备安装工程
- 大学生数字素养现状调查
- 美学原理全套教学课件
- 西方法律思想史正式的课件
评论
0/150
提交评论