Der Unterschied zwischen der Wertübergabe und der Adressübergabe: 1. Bei der Wertübergabe werden die Funktionsparameter auf den Stapel gelegt und nicht auf die Originalvariablen. 2. Bei der Wertübergabe werden die Funktionsparameter auf den Stapel übertragen. Die Funktionsparameter werden auf den Stapel gelegt und sind eine Kopie der Zeigervariablen. Wenn Sie eine Zeigeroperation für den Zeiger ausführen, zeigt sein Wert auf die ursprüngliche Variable.
Die Betriebsumgebung dieses Artikels: Windows 7-System, Dell G3-Computer.
Der Unterschied zwischen Pass-by-Value und Pass-by-Address:
1 Bei der Pass-by-Value sind die auf den Stack verschobenen Funktionsparameter Kopien der Parameter und nicht auf die ursprünglichen Variablen.
2. Was bei der Adressübertragung auf den Stapel verschoben wird, ist eine Kopie der Zeigervariablen. Wenn Sie den Zeiger bearbeiten, zeigt sein Wert auf die ursprüngliche Variable, sodass die ursprüngliche Variable bearbeitet wird.
Erweiterte Informationen
Es gibt drei Möglichkeiten, Parameter zu übergeben: Übergabe als Wert, Übergabe per Adresse und Übergabe als Referenz.
1. Wertübergabe
(1) Formale Parameter und tatsächliche Parameter belegen jeweils einen unabhängigen Speicherplatz.
(2) Der Speicherplatz der formalen Parameter wird beim Aufruf der Funktion zugewiesen. Wenn der Aufruf beginnt, öffnet das System einen temporären Speicherbereich für die formalen Parameter und übergibt dann jeden tatsächlichen Parameter an den formalen Parameter Der formale Parameter erhält den Wert des tatsächlichen Parameters.
2. Adressübertragung
Der Unterschied zwischen Adressübertragung und Wertübertragung besteht darin, dass die Speicheradresse des tatsächlichen Parameters auf den formalen Parameter übertragen wird, sodass der formale Parameterzeiger und der tatsächliche Parameterzeiger auf dieselbe Adresse zeigen. Daher wirken sich alle Änderungen an der Adresse, auf die der formale Parameterzeiger in der aufgerufenen Funktion zeigt, auf die tatsächlichen Parameter aus.
3. Übergabe per Referenz
Bei der Übergabe per Referenz wird eine Referenz als Parameter verwendet, wodurch nicht nur jede Operation an den formalen Parametern die entsprechenden Daten ändern kann, sondern auch Funktionsaufrufe bequemer werden. Bei der Referenzübergabe wird der Referenzoperator „&“ vor dem formalen Parameteraufruf hinzugefügt.
Die Referenz ist ein Alias des tatsächlichen Parameters. Wenn es sich um dieselbe Variable wie der tatsächliche Parameter handelt, sind ihre Werte dieselben. Wenn sich die Referenz ändert, ändert sich auch ihr tatsächlicher Parameter.
Kostenlose Empfehlungen zum Thema: Videokurse zum Programmieren
Das obige ist der detaillierte Inhalt vonWas ist der Unterschied zwischen der Wertübergabe und der Adressübergabe?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!