Frank Spiess
short
2 Byte
Nur mindestens
long
4 Byte
ebenfalls nur mindestens. Auf einem 64-Bit System ist long z.B. meistens 8 Byte lang. Der C Standard definiert nur jeweils die Mindestlänge, die ein Typ haben muss und dass z.B. int niemals kürzer als short ist. Genau deshalb kann das zur Plattform gehörende ABI long als 8 Byte definieren. Richtig nett wird es jetzt noch, wenn diese Werte Teil von Strukturen sind, denn dann kommen u.U. noch Füllbytes dazu, die dazu dienen, die Felder im Speicher so anzuordnen, dass der Prozessor möglichst optimal zugreifen kann. So können Sparcs z.B. nicht auf ungerade Adressen zugreifen, weswegen der Compiler dafür sorgen muss, dass Werte immer mit einer geraden Adresse beginnen. Philipp