社区
语言基础/算法/系统设计
帖子详情
sizeof的问题
keyz
2003-09-11 05:07:23
CustRec = record
a,b:byte;
c:dword;
d:byte;
end;
大小是多少?为什么我用sizeof(CustRec)测出来是12?
...全文
26
8
打赏
收藏
sizeof的问题
CustRec = record a,b:byte; c:dword; d:byte; end; 大小是多少?为什么我用sizeof(CustRec)测出来是12?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
lxpbuaa
2003-09-13
打赏
举报
回复
在没有packed 修饰字的情况下,编译器将按照编译指令$A指定的格式对齐记录的字段;否则,SizeOf才能取得各字段类型原始大小之和。是否对齐与虚拟方法表(VMT)没有任何关系,因为VMT是和类关联的,而记录并不是类。
—————————————————————————————————
宠辱不惊,看庭前花开花落,去留无意;毁誉由人,望天上云卷云舒,聚散任风。
—————————————————————————————————
hkbarton
2003-09-11
打赏
举报
回复
写的有点错,上面改正了,呵呵
hkbarton
2003-09-11
打赏
举报
回复
是packed record
hkbarton
2003-09-11
打赏
举报
回复
编译器自动对齐功能,如果你想得到你预期的数据可以用
CustRec =package record
a,b:byte;
c:dword;
d:byte;
end;
立志做一个佳娃~
2003-09-11
打赏
举报
回复
具体内容参看
《DELPHI高手突破》
立志做一个佳娃~
2003-09-11
打赏
举报
回复
呵呵,,
VMT自动地把大小设为对齐,
即使不足4的也要凑成4
立志做一个佳娃~
2003-09-11
打赏
举报
回复
呵呵,,
VMT自动地把大小设为对齐,
即使不足4的也要凑成4
chl_ccssddnn
2003-09-11
打赏
举报
回复
应该就是12,我把d放在ab一起声明,
type
CustRec = record
a,b,d:byte;
c:dword;
end;
大小就变成了8。
所以肯定不同类型的成员之间有隔离部分,这个隔离部分占据了一定的字节数
指针的大小--
sizeof
问题
指针的大小--
sizeof
问题
原文在此:http://blog.sina.com.cn/edo2010 指针的大小是问:一个指针变量占用多少内存空间? 分析:既然指针只是要存储另一个变量的地址,。注意,是存放一变量的地址,而不是存放一个变量本身,所以,不管指针指向什么类型的变量,它的大小总是固定的:只要能放得下一个地址就行!(这是一间只有烟盒大小的“房间”,因为它只需要入一张与
指针的大小--
sizeof
问题
和
sizeof
使用规则
1、什么是
sizeof
首先看一下
sizeof
在msdn上的定义: The
sizeof
keyword gives the amount of storage, in bytes, associated with a variable or a type (including aggregate types). This keyword returns a value of type...
【常见面试题总结之C++中
sizeof
问题
】
归纳一些常见面试题,C++中
sizeof
是经常被问到的一个概念,比如,下面的几个关于
sizeof
的面试题反复出现在各大IT公司的技术面试当中,我们有必要完全理解并掌握。 【HR】:定义一个空的类型,里面没有任何成员变量和成员函数,对该类型求
sizeof
得到结果是多少? 【acmer】:答案是1。 【HR】:为什么不是0? 【acmer】:空类型的实例中不包括任何信息,本来求
sizeof
C/C++ 彻底解决结构体的
sizeof
问题
引言 相信在大多数人开始学习编程时,老师都会谈到各种数据类型的size
问题
。比如说一个int类型的变量大小是4byte,一个char类型的变量是1byte。这些
问题
都很好解决,但是当谈到一个结构体的大小时,答案往往就不那么肯定了。这个
问题
我困惑了很久,查找了不少资料后终于有所体会。现在特意记录下来,谈一谈计算机中各种数据类型的size到底是怎样得到的,主要涉及到以下三个方面的知识 基本数据类...
sizeof
求值
问题
(结构体,数组,联合体,指针,函数)
结构体的
sizeof
结构体的
sizeof
涉及到字节对齐
问题
。 为什么需要字节对齐?计算机组成原理教导我们这样有助于加快计算机的取数速度,否则就得多花指令周期了。为此,编译器默认会对结构体进行处理(实际上其它地方的数据变量也是如此),让宽度为2的基本数据类型(short等)都位于能被2整除的地址上,让宽度为4的基本数据类型(int等)都位于能被4整除的地址上,依次类推。这样,两个数中间就可能需...
语言基础/算法/系统设计
16,748
社区成员
33,247
社区内容
发帖
与我相关
我的任务
语言基础/算法/系统设计
Delphi 语言基础/算法/系统设计
复制链接
扫一扫
分享
社区描述
Delphi 语言基础/算法/系统设计
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章