packed 是紧缩的意思,表示各个字段的存储空间紧挨着,而不是中间可能有空余。
但是这样会影响访问速度。
比如:
  TMyRecord = packed record
    a: char;
    i: integer;
  end;
  TOtherRecord = record
    a: char;
    i: integer;
  end;var
  rc1: TMyRecord;
  rc2: TOtherRecord;
begin
  ShowMessage( IntToStr(SizeOf( rc1 ))); //显示所需要的存储空间 5
  ShowMessage( IntToStr(SizeOf( rc2 ))); //大小未知,但是肯定>=5