Was ist der Unterschied zwischen Wert- und Referenzparametern?
Was ist der Unterschied zwischen Wert- und Referenzparametern?

Video: Was ist der Unterschied zwischen Wert- und Referenzparametern?

Video: Was ist der Unterschied zwischen Wert- und Referenzparametern?
Video: Werte- und Referenzparameter 2024, Kann
Anonim

Änderungen an a Wertparameter sind für den Anrufer nicht sichtbar (auch "Vorbeigehen" genannt) Wert "). Änderungen zu a Referenzparameter sind für den Anrufer sichtbar ("Vorbeigehen Hinweis "). Eine Verwendung von Zeigern ist die Implementierung von " Hinweis " Parameter ohne ein spezielles zu verwenden Hinweis Konzept, das einige Sprachen wie C nicht haben.

Was ist außerdem der Unterschied zwischen Wert- und Referenzparametern?

SCHLÜSSEL UNTERSCHIED In Anruf von Wert , eine Kopie von Variable wird übergeben, während in Call by Hinweis , ein Variable selbst ist vorbei. In Anruf von Wert , tatsächlich und formal Argumente wird erstellt in unterschiedlich Speicherplätze während in Call by Hinweis , tatsächlich und formal Argumente wird erstellt in dem gleichen Speicherort.

Was ist Call by Value und Reference? Anruf von Referenz : Sowohl die Aktual- als auch die Formalparameter beziehen sich auf dieselbe Position, sodass alle Änderungen, die innerhalb der Funktion vorgenommen werden, tatsächlich in den Aktualparametern des Aufrufers widergespiegelt werden. Anruf nach Wert . Anruf Von Referenz . Während Berufung eine Funktion, wir übergeben Werte von Variablen dazu. Solche Funktionen sind bekannt als „ Aufruf nach Werten ”.

Was ist dementsprechend ein Referenzparameter?

EIN Referenzparameter ist ein Hinweis an einen Speicherplatz einer Variablen. Wenn du passierst Parameter von Hinweis , im Gegensatz zum Wert Parameter , für diese wird kein neuer Speicherort angelegt Parameter . Es zeigt, dass sich die Werte innerhalb der Swap-Funktion geändert haben, und diese Änderung spiegelt sich in der Main-Funktion wider.

Warum sollten Parameter per Referenz übergeben werden?

Pass-by-Referenz meint das passieren das Hinweis eines Streit in der aufrufenden Funktion zum entsprechenden Formal Parameter der aufgerufenen Funktion. Passieren -by-references ist effizienter als passieren -nach Wert, weil es tut nicht kopieren Argumente . Das formelle Parameter ist ein Alias für die Streit.

Empfohlen: