Array als return-Wert übergeben
-
Hallo,
ich möchte eine Funktion aufrufen, die mir als Returnwert ein Array liefert. Im Beispiel unten soll ein Array mit dem selbst erstellten Datentyp "StrukturierterDatentyp" zurück gegeben werden. Bekomme aber immer Fehlermeldungen. Hab es auch mal mit Zeigern versucht, klappte aber auch nicht. Kann mir jemand sagen wie ich das machen muss?
Danke#include <conio.h> #include <stdio.h> //----------------------------------------------------------------------------- struct StrukturierterDatentyp { int a; }; struct StrukturierterDatentyp TestFunktion(void); //----------------------------------------------------------------------------- int main(void) { struct StrukturierterDatentyp Rueckgabe; Rueckgabe=TestFunktion(); FILE *datei; datei = fopen ( "Ausgabe.txt" , "w" ); fprintf (datei,"%d",Rueckgabe[0].a); fclose (datei); return 0; } //----------------------------------------------------------------------------- struct StrukturierterDatentyp TestFunktion(void) { struct StrukturierterDatentyp Datensatz[2]; Datensatz[0].a=1; Datensatz[1].a=2; return Datensatz; }
-
du verlässt den scope somit wird "Datensatz" zerstört
http://tutorial.schornboeck.net/variablen.htm
http://tutorial.schornboeck.net/los/scope.htmbenutz mal die forensuche "rückgabewert" und du wirst mehrere lösungen finden.