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
Mary-Kate OlsenOriginal
2024-12-09 02:06:11174Durchsuche

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);
}

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!

Stellungnahme:
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