Heim > Backend-Entwicklung > C++ > Wie übergebe ich ein Array als Referenz in C?

Wie übergebe ich ein Array als Referenz in C?

Patricia Arquette
Freigeben: 2024-12-21 07:02:10
Original
148 Leute haben es durchsucht

How Do I Pass an Array by Reference in C  ?

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]);
Nach dem Login kopieren

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:

  • Die Klammern () zeigen an dass wir einen Verweis auf ein Array übergeben.
  • Die großen Klammern [] geben die Größe des übergebenen Arrays an. In diesem Fall handelt es sich um ein Array mit 100 Ganzzahlen.

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[]);
Nach dem Login kopieren

Die folgende Erklärung gilt jedoch anders:

void foo(int (&x)[100]);
Nach dem Login kopieren

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
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage