Hi,
»» > sind da bei C nicht die Segmentgrenzen zu beachten?
»» Nö, wieso? Bei DOS und 16-Bit-Windows vielleicht, ...
Und selbst unter DOS und 16-Bit-Windows sollten Segmentgrenzen kein Problem sein - der Compiler sollte normalerweise Assembler-Code generieren, der das automatisch berücksichtigt.
der Begriff "automatisch" ist hier mit Vorsicht zu genießen: Unter DOS und 16bit-Windows hatte man immer noch die leidige Wahl des Speichermodells (tiny, small, large, huge usw.), die für viele Programmierer ein Buch mit sieben Siegeln war.
Nur im Modell "huge" konnte man den zur Verfügung stehenden Speicher wirklich nutzen, ohne dass man durch die Segmentierung eingeschränkt war. Im Speichermodell "large", das oft als Default genommen wurde, konnte man zwar den gesamten Speicher nutzen, aber keine Strukturen oder Arrays, die einzeln größer als 64kB (=16bit-Segmentgröße) waren.
Kann natürlich sein, dass es Compiler gibt, die zu dämlich dafür sind.
Das relativiert diese Aussage ein wenig: Die Compiler konnten es, man musste ihnen nur richtig sagen, was man will ...
So long,
 Martin
Wer schläft, sündigt nicht.
Wer vorher sündigt, schläft besser.