哪位仁兄告诉我以下两种记录的不同么?
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;
解决方案 »
- Midas Socket ADO,直接打开Word文件打不开!
- 服务程序创建的窗体如何共享服务程序取得的INI数据文件
- 大侠救命,做过电子显示屏的请进
- 四个角了,放分200 ^_^
- 有谁用国Qrdesign这个报表制作控件,如何用,那里有资料?
- Rave高手请进
- wise install9.02 做OCX(mapx)安装程序出错如下,求救,马上给分
- 关于透明窗体的问题。
- 请问大富翁论坛的确切网址,谢谢
- 我的发现——用filesize读取.com文件大小时会出错,请问还有其他方法得知一个文件的大小?50分奉上!50分奉上!50分奉上!
- 关于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慢.