Arrays in Funktionen zurückgeben
In C sind Arrays keine erstklassigen Objekte, was bedeutet, dass sie nicht direkt von Funktionen zurückgegeben werden können. Es gibt jedoch zwei gängige Ansätze für die Arbeit mit Arrays in Funktionen:
Ansatz 1: Übergabe per Referenz
Wie in der Frage gezeigt, kann ein Array übergeben werden eine Funktion als Referenz, sodass die Funktion das ursprüngliche Array ändern kann. Die Funktion kann dann ein Leerzeichen oder einen anderen Datentyp zurückgeben, während sie weiterhin Zugriff auf das aktualisierte Array hat.
Ansatz 2: Einen Zeiger zurückgeben
Alternativ können Arrays zurückgegeben werden von Funktionen als Zeiger auf ihr erstes Element. Dies ist im Wesentlichen dasselbe wie die Übergabe per Referenz, da die Funktion weiterhin über den Zeiger auf das ursprüngliche Array zugreifen und es ändern kann.
Implementierungsbeispiel:
int* fillArray(int arr[], int size) { for (int i = 0; i < size; ++i) { arr[i] = i + 1; } return arr; } int main() { int arr[5]; int* result = fillArray(arr, 5); // Access and print the modified array through the pointer for (int i = 0; i < 5; ++i) { cout << result[i] << " "; } cout << endl; return 0; }
In In diesem Beispiel verwendet die FillArray-Funktion eine Array-Referenz und eine Größe als Eingabe und gibt einen Zeiger auf das erste Element des geänderten Arrays zurück. Die Hauptfunktion ruft diese Funktion auf und speichert das Ergebnis in einem Zeiger. Anschließend greift es über diesen Zeiger auf das geänderte Array zu.
Das obige ist der detaillierte Inhalt vonWie kann ich Arrays in C-Funktionen zurückgeben und ändern?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!