Übergabe und Rückgabe von Arrays in Funktionen
Wenn ein Array als Argument an eine Funktion übergeben wird, kann es implizit als Zeiger auf behandelt werden der Anfang des Speicherblocks des Arrays. Dies bedeutet, dass die Funktion direkt auf die Elemente des Arrays zugreifen und diese bearbeiten kann. Wenn Sie jedoch versuchen, ein Array von einer Funktion zurückzugeben, ist ein anderer Ansatz erforderlich.
Ein Array zurückgeben
Um ein Array von einer Funktion zurückzugeben, kehren Sie tatsächlich zurück ein Zeiger auf das erste Element des Arrays. Hier ist ein Beispiel:
int* fillArr(int arr[]) { // Do some operations on the array return arr; // Returns a pointer to the first element of arr }
Verwendung des zurückgegebenen Arrays
Nachdem Sie einen Zeiger auf das Array zurückgegeben haben, können Sie ihn in Ihrem Code wie ein normales Array verwenden . Zum Beispiel:
int main() { int y[10]; int *a = fillArr(y); // Call the function and store the returned pointer cout << a[0] << endl; // Access the first element of the array through the pointer }
In diesem Beispiel gibt die Funktion fillArr einen Zeiger auf das erste Element des y-Arrays zurück, das im a-Zeiger gespeichert ist. Sie können dann über diesen Zeiger auf die Elemente des Arrays zugreifen.
Implizite Konvertierung von Array zu Zeiger
Es ist erwähnenswert, dass wir in den obigen Beispielen verwendet haben Folgende Syntax für das Funktionsargument:
int* fillArr(int arr[])
Dies ist jedoch funktional gleichwertig zu:
int* fillArr(int *arr)
Dies liegt daran, dass eine Array-Variable implizit in einen Zeiger auf ihr erstes Element konvertiert werden kann. Daher können Sie Arrays mit beiden Syntaxen übergeben und zurückgeben.
Das obige ist der detaillierte Inhalt vonWie übergebe und gebe ich Arrays in Funktionen zurück?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!