Zitat von
Muetze1:
Sagen wir lieber, er richtet an DoubleWord-Grenzen aus.
Auch nicht ganz richtig. Der Compiler richtet die Datentypen anhand der Größe der Datentypen aus.
Wenn Du nur Bytes hast werden die nach Bytes ausgerichtet.
Hast Du z.B. ein Byte und einen LongInt würde er den LongInt am nächsten "LongInt" vom an Beginn ausrichten - also am 4. Byte. Du hättest dann 3 Byte unverwendeten Speicher.
"Byte", "unverw. Byte", "unverw. Byte", "unverw. Byte", "LongInt".
<--- 4 Byte = SizeOf(LongInt) --->, LongInt.