Ich möchte eine Struktur Zeichenfolge mit fester Länge definieren, wie folgt aus:Typdef-Array fester Länge -> automatisch erweiterte Größe?
typedef char str8[8];
so kann ich Arrays mit fester Länge Zeichenfolge wie erstellen:
str8 * mydata;
mydata = malloc(100 * sizeof(str8));
ich mydata bin mit ein speichern Liste der Namen: Peter Waseels Grumpy Lexiunos Beta ...
Alles funktioniert gut bis mydata [3], die LexiunosBeta anstelle von Lexiunos wird. Mydata [4] ist jedoch immer noch nur Beta.
Dies scheint nur bei Größe (Name)> = Größe (Str8) auftreten. Ich erweitere str8 zu str10 als temporäre Lösung, aber ich möchte wirklich wissen, was das eigentliche Problem ist und wie ich es beheben könnte.
Wenn ich typedef char str8 [8] zu einer robusteren Definition wie: typedef {char * x;} str8; Wird es das Problem lösen?
Vielen Dank allen!
Out-of-Range-Zugriff von Arrays wird * nicht definiertes Verhalten aufrufen *. – MikeCAT