Ein Array als Referenz übergeben
Bei der Übergabe eines Arrays an eine Funktion ist es wichtig zu überlegen, ob Sie das Array als Wert übergeben möchten oder durch Verweis. Die Übergabe als Wert erstellt eine Kopie des Arrays, während die Übergabe als Referenz es der Funktion ermöglicht, das ursprüngliche Array zu ändern.
Übergabe eines Arrays per Referenzsyntax
Um ein zu übergeben Array als Referenz verwenden wir die folgende Syntax:
void foo(int (&myArray)[100]);
In dieser Syntax ist myArray eine Referenz auf ein Array von 100 Ganzzahlen. Dies bedeutet, dass alle an myArray innerhalb der foo()-Funktion vorgenommenen Änderungen im ursprünglichen Array widergespiegelt werden.
Getrennte Klammern und große Klammern
Die einzelnen Klammern gefolgt von Große Klammern (&myArray)[100] dienen zwei Zwecken:
Alternative Array-Deklarationen
Es ist erwähnenswert, dass die folgenden Deklarationen alle gleichwertig sind:
void foo(int * x); void foo(int x[100]); void foo(int x[]);
Die folgende Erklärung gilt jedoch anders:
void foo(int (&x)[100]);
Diese Deklaration akzeptiert nur Arrays mit 100 Ganzzahlen, und wir können sizeof sicher auf x verwenden.
Ungültige Deklaration
Die Die folgende Deklaration ist ungültig:
void foo(int & x[100]); // error
Dies wird als „Array von Referenzen“ analysiert. Dies ist kein gültiger Datentyp in C.
Das obige ist der detaillierte Inhalt vonWie übergebe ich ein Array als Referenz in C?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!