struct + array
-
Hallo,
ich kämpfe wieder mit structs. Folgender Code ist vorhanden:
struct _Zahlensuppe { float *zahlen; unsigned anzahlDerZahlen; }; typedef struct _Zahlensuppe Zahlensuppe;
Also eine Struktur (_Zahlensuppe), die via "Zahlensuppe" (siehe typedef) angesprochen werden kann. Ich habe eine Funktion definiert, die eine Zahlensuppenstruktur erzeugen soll und einen Zeige auf die Struktur als Ergebnis liefern soll.
Zahlensuppe* ErzeugeZahlensuppeMitAnzahlZahlen(unsigned anzahl){ Zahlensuppe *suppe; (*suppe).zahlen = (float *)malloc(sizeof(float) * anzahl); (*suppe).anzahlDerZahlen = anzahl; return suppe; }
Das Ding schmiert mir bei Zeile 3:
(*suppe).zahlen = (float *)malloc(sizeof(float) * anzahl);
mit "EXC_BAS_ACCESS" ab. Ich nehme mal an, dass es daran liegt, dass man nicht einfach mit dem "=" operator irgendwelchen "Speicher" einfach so zuweisen kann.
-
Du musst auch erst für *suppe Speicher holen.
-
danke