dynamisches Array

Um dich nicht zu sehr zu verwirren:
Serenifly hat recht, aber editignoriere doch einfach seinen 2. Vorschlag

Oder du machst das:
[ Code ]
Du hast dann erstmal 123 Pointer auf CMD_Records mit je 2 Byte ...

Der wäre tatsächlich zwar richtig, aber verwirrend, und bringt keinerlei Vorteil ...

(
Ich könnte dir noch verwirrendere Speicherbelegungsmöglichkeiten empfehlen, z.B eine Kette von Elementen, bei denen jedes auf einen Nachfolger zeigt ...

struct CMD_record
   {
       int Dir;
       int Steps;
       int Speed;
       CMD_record* next;
   };

)

-- sorry, vergiss es:

Es muss doch irgend wann mal einen Zeiger geben, der auf einen zusammenhängen Speicherbereich zeigt, in dem z.B 123 Strukturen zu je 6 Byte liegen ? Also 738 Byte zusammen.

Ja, das ist der Inhalt von Serenifly's erstem Vorschlag

CMD_Record* CMD_Sequence = (CMD_Record*) calloc (NumSeq * (sizeof (CMD_Record));

Das belegt (NumSeq = 123) * 6 byte, und löscht diese. CMD_Sequence ist die Startadresse, oder die Adresse des ersten Elements.
CMD_Sequence[0] ist dieses Element selbst
CMD_Sequence[1] ist das folgende Element, das im Speicher direk dahinter liegt, usw.

Wie castet man nun in C

?
(CMD_Record*)

Damit sagst du dem Compiler, dass dir bewusst ist, dass der "Zeiger auf was_weisss_ich" ( void* ) , den calloc zurückliefert, als Zeiger auf ein CMD_Record behandelt werden soll.

Ist C denn so schwer ? :wink: