Y
ColinMacLaren schrieb:
Das war des Rätsels Lösung.
dinosausdatei->dinoarray = (struct dino **) malloc(dinosausdatei->anz*sizeof(struct dinodaten*));
Nein, immer noch falsch.
Du willst Speicher für dino Zeiger reservieren, nicht für dinodaten.
Es läuft dennoch, weil die dino und dinodaten Strukturen die gleiche Speichergröße haben (1 Zeiger + 1 int).
ColinMacLaren schrieb:
Die anderen Zuweisungen sind jetzt nicht direkt falsch, sondern unnötig, wenn ich es richtig verstanden habe? Das war mir klar, ist allerdings der Aufgabenstellung geschuldet, in der man erst einmal kennenlernen soll, was mit malloc, calloc und free so alles möglich ist. Das Buch...
Man hätte sicherlich nützlichere Beispiele zum Lernen bereitsstellen können, so gewöhnen sich Anfänger noch falsches Verhalten an