社区
Delphi
帖子详情
纪录类型sizeof问题~~~~~抢分呵~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
flyinwuhan
2005-04-14 10:11:01
type
arec = record
s : string[10];
i : integer;
end;
so, sizeof(arec) = ???
不许编译,第一个回答对的50分,解释清楚为什么的100分,剩下20分分给顶的兄弟~~~
...全文
141
11
打赏
收藏
纪录类型sizeof问题~~~~~抢分呵~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
type arec = record s : string[10]; i : integer; end; so, sizeof(arec) = ??? 不许编译,第一个回答对的50分,解释清楚为什么的100分,剩下20分分给顶的兄弟~~~
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
11 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
halfdream
2005-04-15
打赏
举报
回复
晕..慢了5秒钟...昨天发贴时间倒是同一秒.
flyinwuhan
2005-04-14
打赏
举报
回复
To gzmhero(hihihi):
抱歉啊,结帖的时候分给错了~~~你应该150啊~~~~~不要生气,下次~~~~~~~~~~
flyinwuhan
2005-04-14
打赏
举报
回复
>>Options里若设置了不同的Record Field alignment有不同的结果
当然是默认的8
原来这么简单~~~~~~不过以前俺一直以为s : string[8]; 和s : array[0..7] of char;占用一样地空间~~~没有想到还要存放长度~~~~一直以为短字符串和Array of Char兼容的~~~短字符串存放什么长度嘛
谢谢~~
hatum
2005-04-14
打赏
举报
回复
integer 占4个字节
实际的string[8]占9个字节
string[8]中的每一个字符占1的字节
但是在记录中, 会以较大的数据类型为基准'分块' 所以这里每一块为4个字节(integer占4个)
9/4=2.25, 由于是4个字节分一块,所以这里String[8]由3个'块组成' 也就是占12个字节
加上integer的4个 一共16个字节
这样对吗?
ehom
2005-04-14
打赏
举报
回复
13,14或16
gzmhero
2005-04-14
打赏
举报
回复
Options里若设置了不同的Record Field alignment有不同的结果。
linzhengqun
2005-04-14
打赏
举报
回复
楼主的分不够啊,看来那个150分是没戏了,
不如把乘下的20给俺吧,嘻嘻。
ehom
2005-04-14
打赏
举报
回复
条件不足,没答案
按照默认设置是16
halfdream
2005-04-14
打赏
举报
回复
arec = record
s : string[8];//9字节
i : integer;//4字节。
end;
9+4 =13。。。然后4字节取整。。16字节。。
gzmhero
2005-04-14
打赏
举报
回复
应该是3*4+4=16;
string[8],是分配9个byte的空间,string[0]是存放string的长度,string[1]---string[8]是申请的串。在D结构中,按照4个字节对齐,所以这里是有3个,共12个字节。
integer,4个字节。
所以共16个字节。
arec = packed record
s : string[8];
i : integer;
end;
按照字节对齐,就是8+1+4=13了。
flyinwuhan
2005-04-14
打赏
举报
回复
不对,上面写错了,应该是:
type
arec = record
s : string[8];
i : integer;
end;
BigMemroy系列文章--11. BigMemory中的
SizeOf
问题
本文探讨BigMemory使用DirectMemory管理内存的方法,并介绍了BigMemory如何计算对象所占空间。针对
sizeOf
引擎进行优化,包括减少对象复杂度及使用序列化技术来提升性能。
C语言笔试题
纪录
(一)
本文探讨了C语言中的内存管理技术,包括静态、栈和堆内存分配的特点及常见错误,如内存泄漏和野指针的
问题
。同时,介绍了Linux系统进程
类型
、联合体内存大小的计算方法以及系统调用与库函数的区别。
小白个人
纪录
day2)
博主在C语言上机课开溜后巩固学习,用数组内部排序重做昨日题目,介绍了排序需用两个for循环及‘冒泡法’。新任务是做密码验证程序,实现了次数限制、字符复杂度要求等进阶功能,借助识别字符函数和getch()函数完成程序。
L1-043 阅览室 (20 分)——memset补充
本文介绍了一道编程题,要求编写一个图书借阅统计程序,能够处理读者借书、还书操作,并在一天结束时输出借书次数和平均阅读时间。程序需要处理异常情况,如线路故障导致的不完整记录。示例代码给出了解决方案,包括对无效记录的处理和计算平均阅读时间的方法。
Java Cache-EHCache系列之计算实例占用的内存大小(
SizeOf
引擎)
本文详细介绍了EHCache中计算缓存实例内存占用的方法,包括Reflection
SizeOf
、Unsafe
SizeOf
及Agent
SizeOf
三种策略,深入探讨了Java对象内存结构及其对缓存大小计算的影响。
Delphi
5,943
社区成员
262,943
社区内容
发帖
与我相关
我的任务
Delphi
Delphi 开发及应用
复制链接
扫一扫
分享
社区描述
Delphi 开发及应用
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章