Ich hätte gedacht, daß
Arrays Array-Felder auch ausgerichtet werden, denn wozu soll denn sonst das
packed sinnvoll sein, welches man da angeben kann.
Aber da hab ich mich wohl getäuscht.
Delphi-Quellcode:
type
TMyRecord = record
I: Integer;
B: Byte;
end;
TMyPackedRecord = packed record
I: Integer;
B: Byte;
end;
var
MyRecord: TMyRecord;
MyRecordArray: array[0..9] of TMyRecord;
MyRecordPackedArray: packed array[0..9] of TMyRecord;
MyPackedRecord: TMyPackedRecord;
MyPackedRecordArray: array[0..9] of TMyPackedRecord;
MyPackedRecordPackedArray: packed array[0..9] of TMyPackedRecord;
begin
WriteLn('SizeOf(MyRecord) = ', SizeOf(MyRecord));
WriteLn('SizeOf(MyRecordArray) = ', SizeOf(MyRecordArray));
WriteLn('SizeOf(MyRecordPackedArray) = ', SizeOf(MyRecordPackedArray));
WriteLn('SizeOf(MyPackedRecord) = ', SizeOf(MyPackedRecord));
WriteLn('SizeOf(MyPackedRecordArray) = ', SizeOf(MyPackedRecordArray));
WriteLn('SizeOf(MyPackedRecordPackedArray) = ', SizeOf(MyPackedRecordPackedArray));
ReadLn;
[edit]
Array
s werden ausgerichtet, also zumindestens ihr Startpunkt.