Jaka jest różnica między wartością a parametrami odniesienia?
Jaka jest różnica między wartością a parametrami odniesienia?

Wideo: Jaka jest różnica między wartością a parametrami odniesienia?

Wideo: Jaka jest różnica między wartością a parametrami odniesienia?
Wideo: Call By Value & Call By Reference in C 2024, Kwiecień
Anonim

Zmiany w parametr wartości nie są widoczne dla dzwoniącego (nazywane również „pomiń” wartość "). Zmiany na parametr odniesienia są widoczne dla dzwoniącego ("pomiń" referencja "). Jednym z zastosowań wskaźników jest zaimplementowanie " referencja " parametry bez użycia specjalnego referencja koncepcja, której niektóre języki, takie jak C, nie mają.

Poza tym, jaka jest różnica między parametrami wartości i odniesienia?

KLUCZ RÓŻNICA Zadzwoń przez wartość , kopia zmienny przechodzi, podczas gdy w Call by referencja , a zmienny sama jest przekazywana. Zadzwoń przez wartość , faktyczne i formalne argumenty zostanie utworzony w różne lokalizacje pamięci, podczas gdy w Call by referencja , faktyczne i formalne argumenty zostanie stworzony w w tej samej lokalizacji pamięci.

co to jest wywołanie przez wartość i odniesienie? Połączenie za pomocą Referencja : Zarówno rzeczywiste, jak i formalne parametry odnoszą się do tych samych lokalizacji, więc wszelkie zmiany dokonane wewnątrz funkcji są faktycznie odzwierciedlane w rzeczywistych parametrach wywołującego. Zadzwoń według wartości . Połączenie Za pomocą Referencja . Podczas powołanie funkcja, którą przekazujemy wartości zmiennych do niego. Takie funkcje są znane jako „ Zadzwoń według wartości ”.

W związku z tym, co to jest parametr referencyjny?

A parametr odniesienia jest referencja do lokalizacji w pamięci zmiennej. Kiedy przechodzisz parametry za pomocą referencja , w przeciwieństwie do wartości parametry , nowe miejsce przechowywania nie jest dla nich tworzone parametry . Pokazuje, że wartości zmieniły się w funkcji wymiany, a zmiana ta znajduje odzwierciedlenie w funkcji Main.

Dlaczego parametry powinny być przekazywane przez referencję?

Przekaż przez odniesienie znaczy przechodzić ten referencja z an argument w funkcji wywołującej do odpowiedniego formalnego parametr wywołanej funkcji. Przechodzić -by-references jest bardziej wydajny niż przechodzić -według wartości, bo to czy nie kopiuj argumenty . Formalne parametr jest aliasem dla argument.

Zalecana: