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


Anmelden zum Antworten