哪位仁兄告诉我以下两种记录的不同么?
1、==================================
PSysInfo = ^TSysInfo;
TSysInfo = record
UserID: string;
UserName: string;
end;2、==================================
PSysInfo = ^TSysInfo;
TSysInfo = packed record //多了个packed
UserID: string;
UserName: string;
end;
1、==================================
PSysInfo = ^TSysInfo;
TSysInfo = record
UserID: string;
UserName: string;
end;2、==================================
PSysInfo = ^TSysInfo;
TSysInfo = packed record //多了个packed
UserID: string;
UserName: string;
end;
解决方案 »
- Pascal还会辉煌吗? 周末闲聊,回者有分!
- dephi编程,点击一个执行按钮,将数据库中的内容导出到excel中
- [提问]Icon.LoadFromFile()后,Icon.width不正确;PopupMenu第一次弹出时,用GetMenuItemRect函数获取高度不正确。
- 奇怪了,为什么始终显示一个零啊?高手帮忙
- 如何改变在IMAGE控件上输出文字的背景?
- 如何实现画一个点按照一个运动轨道活动?
- ###### 如何获得表中的记录数 , 在线等待 ######
- 请问直接弹出输入字符串的对话框的函数是甚麽?
- dbgrid的记录问题
- 一个没有分的问题,我想问一下为什么我下载的Delphi开发人员指南,看的时候它告诉我说字体有错,便不能看了呢?
- 关于rave报表的打印选项等问题
- [高手求助]谁能提供一个DELPHI与JAVA的相同加密解密源代码
而第二种带packed关键字的结构体表明编译器编译该结构体时不需要进行字对齐,这种方式对结构体中的字段访问会比第一种方式慢!但是更节约空间
TA = record
a: Char;
b: Integer;
end;
和
TB = packed record
a: Char;
b: Integer;
end;
中:
TA.b位于TA结构开始处第4个字节, TB.b位于TB结构开始处第二个字节. 即TA结构中在TA.a和TA.b中间插了3个无用字节, 为了TB.b在内存中的地址是按字对齐的--即这个地址能被4整除, 而TB中则没有这些无用字节, 但是TB.b不是字对齐的, 对它的访问比对TA.b慢.