- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
一、 结构体
结构体声明:结构体声明包含结构体关键字、类型名和数据成员
例: struct student
{
char name;
char addr;
char age;
float height;
int weight;
char grade[7];
} ;
结构体变量 :定义包含直接声明时定义、单独定义
例: struct student
{
char name;
char addr;
char age;
float height;
int weight;
char grade[7];
}Xiaonei ;//直接定义一个结构体变量时可以省略结构体类型名
struct student Xiaonei ;
此外还可以利用宏定义来声明一个结构体变量
例: typedef struct student
{
char name;
char addr;
char age;
float height;
int weight;
char grade[7];
}STRUCTSTUDENT ;
结构体变量所占内存空间大小,可以参考其他相关文档。
成员的内存分配规律是这样的: 从结构体的首地址开始向后依次为每个成员
寻找第一个满足条件的首地址 x,该条件是 x % N = 0 , 并且整个结构的长度必
须为各个成员所使用的对齐参数中最大的那个值的最小整数倍 ,不够就补空字
节 。
结构体中所有成员的对齐参数 N 的最大值称为 结构体的对齐参数 。
对齐规则
每个特定平台上的编译器都有自己的默认 “对齐系数 ”(也叫对齐模数 ) 。程序员可
以通过预编译命令 #pragma pack(n) ,n=1,2,4,8,16 来改变这一系数,其中
的 n 就是你要指定的 “对齐系数 ”。
对齐步骤:
1 、数据成员对齐规则: 结构 (struct)( 或联合 (union)) 的数据成员, 第一个数据
成员放在 offset 为 0 的地方,以后每个数据成员的对齐 按照 #pragma pack
指定的数值和这个数据成员自身长度中,比较小的那个进行。
2 、结构 ( 或联合 ) 的整体对齐规则: 在数据成员完成各自对齐之后, 结构 ( 或联合 )
本身也要进行对齐,对齐将 按照 #pragma pack 指定的数值和结构 ( 或联合 ) 最
大数据成员长度中,比较小的那个进行。
3 、结合 1 、2 颗推断:当 #pragma pack 的 n 值等于或超过所有数据成员长
度的时候,这个 n 值的大小将不产生任何效果。
备注:数组成员按长度按数组类型长度计算,如 char t[9], 在第 1 步中数据自
身长度按 1 算,累加结构体时长度为 9; 第 2 步中,找最大数据长度时,如果结
构体 T 有复杂类型成员 A 的,该 A 成员的长度为该复杂类型成员 A 的最大成员
长度。
其实字节对齐的细节和具体编译器实现相关, 但一般而言,满足三个准则: 1)
结构体变量的首地址能够被其最宽基本类型成员的大小所整除; 2) 结构体
每个成员相对于结构体首地址的偏
您可能关注的文档
最近下载
- 中华人民共和国通信行业标准通信用阀控式密封铅-中国通信标准化协会.PDF VIP
- 个人图书馆使用说明.doc VIP
- 7-1.广东省高级会计师职称评审结构化自评表.pdf VIP
- JCT 60006-2020 瓷砖薄贴法施工技术规程.pdf VIP
- 《6763个常用汉字使用频率表》.doc
- 化工有限公司公司生态环境监测数据质量管理制度.pdf VIP
- 四川省南充市2023-2024学年度初中语文八年级上学期期末质量抽查测试语文试卷及答案.doc VIP
- DB4101T11 食品生产企业6S现场管理规范.pdf VIP
- 2022年《国家电网有限公司高校毕业生招聘考试大纲(通信类专业2022版).pdf VIP
- 室分施工培训.pptx
原创力文档


文档评论(0)