Почему размер записи не равен сумме размеров ее полей?

У меня есть следующий код:

type TRecord1 = record
  myarr: array [0..31] of single:
end;
type TRecord2 = record
  b1, b2, b3, b4, b5, b6: byte;
end;
type TRecord3 = record
  myarr: array [0..31] of single:    
  b1, b2, b3, b4, b5, b6: byte;
end;

procedure TForm1.FormCreate(Sender: Tobject);
begin
  ShowMessage(IntToStr(SizeOf(TRecord1))+'+'+IntToStr(SizeOf(TRecord2))+
      '='+IntToStr(SizeOf(TRecord3)));
end;

Программа показывает следующее сообщение:

128+6=136

Почему SizeOf(TRecord3)равно 136, а не 134?

9
задан David Heffernan 21 March 2012 в 12:57
поделиться