„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Wie kann ich ein Array durch Bezugnahme in C ++ übergeben?

Wie kann ich ein Array durch Bezugnahme in C ++ übergeben?

Gepostet am 2025-03-13
Durchsuche:210

How to Pass an Array by Reference in C  ?

ein Array durch Referenz übergeben

in C, ermöglicht es uns, ein Array durch Referenz zu übergeben, das ursprüngliche Array, das an die Funktion übergeben wurde. Wenn wir vor einem Array -Typ das Ampersand (&) -Schild verwenden, erstellen wir einen Verweis auf dieses Array.

betrachten den folgenden Code:

void foo(int (&myArray)[100])
{
}

int main()
{
    int a[100];
    foo(a);
}

In diesem Beispiel akzeptiert die FOO -Funktion einen Verweis auf ein Array von 100 Ganzzahlen. Die Klammern nach MyArray sind notwendig, um anzuzeigen, dass der Parameter eine Array -Referenz ist, kein Zeiger. Es ist eine alternative Möglichkeit, eine Array -Referenz zu deklarieren. Die folgenden Deklarationen sind äquivalent:

int (& myarray) [100]
  • int *myarray
  • int myarray []
  • , wenn ein Array durch den Referenz über die Referenz überträgt, die Funktionsparparatur behandelt. Dies bedeutet, dass alle Änderungen am Array in der Funktion auch im ursprünglichen Array widerspiegelt werden.

Es ist wichtig zu beachten, dass void foo (int (& myarray) [100]) nur Arrays von 100 Elementen akzeptiert. Wenn wir versuchen würden, ein Array mit einer anderen Größe als FOO-Funktion zu übergeben, würde dies zu einem Kompilierungsfehler führen.

Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3