Heim > Backend-Entwicklung > C++ > Wann sollten Sie Zeiger in C als Referenz übergeben?

Wann sollten Sie Zeiger in C als Referenz übergeben?

Mary-Kate Olsen
Freigeben: 2024-12-09 02:06:11
Original
220 Leute haben es durchsucht

When Should You Pass Pointers by Reference in C  ?

Übergabe von Zeigern per Referenz in C

In C ist die Übergabe von Zeigern per Referenz eine Technik, die unter bestimmten Umständen eingesetzt wird: wenn ein Zeiger selbst innerhalb einer Funktion geändert werden muss und nicht auf das Objekt, auf das es zeigt. Dieser Ansatz unterscheidet sich von der herkömmlichen Methode der Übergabe von Zeigern nach Wert, bei der die Adresse des Objekts kopiert wird.

Der bereitgestellte Code veranschaulicht dieses Szenario:

void foo(type *&in) {...}

void fii() {
  type *choochoo;
  ...
  foo(choochoo);
}
Nach dem Login kopieren

Innerhalb der Funktion fii ein Zeiger choochoo wird erstellt und anschließend als Argument an die Funktion foo übergeben. Durch die Übergabe des Zeigers als Referenz, wie durch das kaufmännische Und-Zeichen & vor dem Sternchen * angegeben, erhält die Funktion foo die Möglichkeit, den Zeiger choochoo selbst zu ändern, anstatt eine Kopie zu erstellen.

Diese Technik weist Ähnlichkeiten mit der auf Verwendung von Doppelzeigern. Die Referenzierung eines Zeigers bietet jedoch eine zusätzliche Schutzebene und verringert die Fehlerwahrscheinlichkeit im Vergleich zur direkten Verwendung von Zeigern.

Daher ist die Hauptmotivation für die Übergabe eines Zeigers als Referenz die Notwendigkeit, den Zeiger innerhalb einer Funktion zu ändern , um sicherzustellen, dass die Änderung zurück an die aufrufende Funktion weitergegeben wird.

Das obige ist der detaillierte Inhalt vonWann sollten Sie Zeiger in C als Referenz übergeben?. 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