integer array in einer funktion füllen und zurückgeben
-
hy
wie kann ich ein integer array in einer funktion abfüllen und schliesslich zurückgeben?
ich habe es folgendermassen porbiert:prototyp:
int[] refresh(void);funktion:
int[] refresh(void) { ... int i = 0; int arr[100]; while(i < 10) { ... arr[i] = 100; i++; } return arr; }funktionsaufruf:
int array[100]; array = refresh();weiss jemand wie ich das genau machen muss??
vielen dank
-
Hallo,
Das funktioniert so nicht. Du gibst hier einen Pointer auf eine lokale Variable zurück, die nach Beendigung der Funktion nicht mehr gültig ist.
Du müsstest deiner Funktion einen Pointer auf dein Feld, sowie die Grösse übergeben.void refresh(int *feld, int size) { for( int i=0; i<size; ++i) { feld[i] = 100; } }dann
int array[100]; refresh(array,100);Ciao
-
dankeschön
es funktioniert so wie es du geschrieben hast.
