- 32
- 0
- 约 26页
- 2016-11-06 发布于河南
- 举报
偏移量
偏移量
运算符sizeof可以计算出给定类型的大小,对于32位系统来说,sizeof(char) = 1; sizeof(int) = 4。基本数据类型的大小很好计算,我们来看一下如何计算构造数据类型的大小。
C语言中的构造数据类型有三种:数组、结构体和共用体。
数组是相同类型的元素的集合,只要会计算单个元素的大小,整个数组所占空间等于基础元素大小乘上元素的个数。
结构体中的成员可以是不同的数据类型,成员按照定义时的顺序依次存储在连续的内存空间。和数组不一样的是,结构体的大小不是所有成员大小简单的相加,需要考虑到系统在存储结构体变量时的地址对齐问题。看下面这样的一个结构体:
STruct stu1
{
int i;
char c;
int j;
};
先介绍一个相关的概念——偏移量。偏移量指的是结构体变量中成员的地址和结构体变量地址的差。结构体大小等于最后一个成员的偏移量加上最后一个成员的大小。显然,结构体变量中第一个成员的地址就是结构体变量的首地址。因此,第一个成员i的偏移量为0。第二个成员c的偏移量是第一个成员的偏移量加上第一个成员的大小(0+4),其值为4;第三个成员j的偏移量是第二个成员的偏移量加上第二个成员的大小(4+1),其值为5。
实际上,由于存储变量时地址对齐的要求,编译器在编译程序时会遵循两条原则:一、结构体变量中成
您可能关注的文档
- xml_RDF教程.doc
- XP系统下网卡启动很慢.doc
- XSL-FO教程.doc
- Zend Framework MVC的派遣器--Dispatch.doc
- Zend Framework.doc
- [tcp IP源码.doc
- “单元整合·群文阅读”三年级下册第四组“多彩的童年生活”教学设计小学语文·人民教育出版社·课程教材研.doc
- “君子与小人”命题作文.doc
- 《关爱大自然 从我做起》教学设计_教师文集_教师园地_旬阳县甘溪初级中学.doc
- 《大学英语(统考)》1-4次作业.doc
- 2026河南新乡卫辉市航运站招聘备考题库及参考答案详解.docx
- 2026-2031黑色皮衣行业市场深度调研及供需格局及有效策略与实施路径评估报告.docx
- 2026-2031花生酱行业市场深度调研及供需格局及有效策略与实施路径评估报告.docx
- 2026江苏省苏州中学校第二批高层次优秀毕业生招聘5人备考题库附答案详解(突破训练).docx
- 2026江苏南京航空航天大学金城学院招聘备考题库及答案详解(各地真题).docx
- 2026江苏苏州大学科研助理岗位招聘7人备考题库完整参考答案详解.docx
- 2026-2031加厚围巾行业市场深度调研及供需格局及有效策略与实施路径评估报告.docx
- 2026浙江台州市仙居县公安局警务辅助人员招聘31人备考题库及答案详解(名校卷).docx
- 2026浙江台州市城乡规划设计研究院有限公司招聘12人备考题库及答案详解(有一套).docx
- 2026江西南昌市社会福利院招聘备考题库及答案详解(各地真题).docx
原创力文档

文档评论(0)