type
arec = record
s : string[10];
i : integer;
end;so, sizeof(arec) = ???
不许编译,第一个回答对的50分,解释清楚为什么的100分,剩下20分分给顶的兄弟~~~
arec = record
s : string[10];
i : integer;
end;so, sizeof(arec) = ???
不许编译,第一个回答对的50分,解释清楚为什么的100分,剩下20分分给顶的兄弟~~~
解决方案 »
- fastreport中没有frxpreview??
- 不解 TMethod
- 关于clear的问题
- 学delphi一年多了,发现一个很基本的问题没搞清楚
- 自己做的一个组件不能够删除的问题!
- 如何獲得treeview根節點序號,在線等待
- //请问这个GROUP BY 有什么用的可以出什么效果出来,一直都不知道分组是怎么用的
- 招兼职或SOHO式 高级DELPHI工程师 最好在长沙
- 李唯:真的妙不可言
- 怎样在建立socket连接是设置timeout时间?
- 显示图像的简单问题,如何让他按y轴显示数据(up有分)应该不太难,怎么没人领分呢?可是问了很久都没人能做出来?郁闷
- 如何给label写web的各种连接呀?
type
arec = record
s : string[8];
i : integer;
end;
所以共16个字节。 arec = packed record
s : string[8];
i : integer;
end;
按照字节对齐,就是8+1+4=13了。
s : string[8];//9字节
i : integer;//4字节。
end;9+4 =13然后4字节取整。。16字节。。
实际的string[8]占9个字节
string[8]中的每一个字符占1的字节但是在记录中, 会以较大的数据类型为基准'分块' 所以这里每一块为4个字节(integer占4个)
9/4=2.25, 由于是4个字节分一块,所以这里String[8]由3个'块组成' 也就是占12个字节
加上integer的4个 一共16个字节这样对吗?
当然是默认的8原来这么简单~~~~~~不过以前俺一直以为s : string[8]; 和s : array[0..7] of char;占用一样地空间~~~没有想到还要存放长度~~~~一直以为短字符串和Array of Char兼容的~~~短字符串存放什么长度嘛谢谢~~
抱歉啊,结帖的时候分给错了~~~你应该150啊~~~~~不要生气,下次~~~~~~~~~~