Heim >Backend-Entwicklung >C++ >Ist die Übergabe des C-Zeigerarguments wirklich eine Wertübergabe?
Ist die Übergabe eines Zeigerarguments in C eine Wertübergabe?
In C ist die Übergabe eines Zeigerarguments tatsächlich eine Wertübergabe. Dies bedeutet, dass eine Kopie des Inhalts der Zeigervariablen (die Adresse des Objekts, auf das verwiesen wird) an die Funktion übergeben wird.
Änderungen, die am Wert des Zeigers innerhalb des Funktionskörpers vorgenommen werden, wirken sich nicht auf den ursprünglichen Zeiger außerhalb aus die Funktion. Änderungen am Wert des Objekts, auf das gezeigt wird, werden jedoch widergespiegelt.
Zeiger auf Zeiger als Funktionsargument verwenden
Um den Zeigerwert selbst innerhalb einer Funktion zu ändern, Als Argument muss ein Zeiger auf einen Zeiger verwendet werden. Diese Technik ist akzeptabel und das Standardverfahren für solche Szenarien. Durch die Verwendung des &-Operators vor dem Zeigerargument wird die Adresse des Zeigers übergeben.
Referenzen vs. Zeiger
Während die Verwendung von Zeigern zur Erzielung dieses Verhaltens gängige Praxis ist In C wird die Verwendung von Referenzen aus mehreren Gründen im Allgemeinen gegenüber Zeigern bevorzugt:
Nachteile von Referenzen
Im speziellen Fall von Zeigern auf Zeiger vereinfacht die Verwendung von Referenzen die Implementierung. Möglicherweise ist es sogar möglich, die Zeigerebenen vollständig zu eliminieren und stattdessen eine einzelne Referenz zu übergeben.
Das obige ist der detaillierte Inhalt vonIst die Übergabe des C-Zeigerarguments wirklich eine Wertübergabe?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!