Różnica między wskaźnikiem a odniesieniem

Autor: Laura McKinney
Data Utworzenia: 1 Kwiecień 2021
Data Aktualizacji: 1 Lipiec 2024
Anonim
Różnica między wskaźnikiem a odniesieniem - Technologia
Różnica między wskaźnikiem a odniesieniem - Technologia

Zawartość


Zarówno „wskaźnik”, jak i „odniesienie” służą do wskazywania lub odwoływania się do innej zmiennej. Ale podstawową różnicą między nimi jest to, że zmienna wskaźnikowa wskazuje zmienną, której miejsce w pamięci jest w niej zapisane. Zmienna referencyjna jest aliasem dla zmiennej, która jest do niej przypisana. Poniższa tabela porównawcza pokazuje inne różnice między wskaźnikiem a odnośnikiem.

  1. Wykres porównania
  2. Definicja
  3. Kluczowe różnice
  4. Wniosek

Wykres porównania

Podstawa do porównaniaWskaźnikOdniesienie
PodstawowyWskaźnik to adres pamięci zmiennej.Odwołanie jest aliasem zmiennej.
ZwrotyZmienna wskaźnikowa zwraca wartość znajdującą się pod adresem zapisanym w zmiennej wskaźnikowej poprzedzonej znakiem wskaźnika *.Zmienna referencyjna zwraca adres zmiennej poprzedzonej znakiem referencyjnym &.
Operatorzy *, ->&
Brak odniesieniaZmienna wskaźnika może odnosić się do NULL.Zmienna referencyjna nigdy nie może odnosić się do NULL.
Inicjalizacja Można utworzyć niezainicjowany wskaźnik.Nigdy nie można utworzyć niezainicjowanego odwołania.
Czas inicjalizacjiZmienna wskaźnikowa może zostać zainicjalizowana w dowolnym momencie programu.Zmienna referencyjna może zostać zainicjowana tylko w momencie jej utworzenia.
Ponowna inicjalizacjaZmienną wskaźnika można ponownie zainicjować tyle razy, ile potrzeba.Zmiennej odniesienia nigdy nie można ponownie zainicjować w programie.


Definicja wskaźnika

„Wskaźnik” to zmienna, która przechowuje miejsce w pamięci innej zmiennej. Operatory używane przez zmienną wskaźnika to * i ->. Deklaracja zmiennej wskaźnikowej zawiera podstawowy typ danych, po którym następuje znak „*” i nazwa zmiennej.

wpisz * var_name;

Pozwól nam zrozumieć wskaźnik za pomocą przykładu.

int a = 4; int * ptr = & a; cout <, natomiast operatorem odniesienia jest &.

  • Zmienna wskaźnikowa, jeśli nie przenosi adresu żadnej zmiennej, wskazuje na null. Z drugiej strony zmienna referencyjna nigdy nie może odnosić się do Null.
  • Zawsze możesz utworzyć zindywidualizowaną zmienną wskaźnikową, ale tworzymy referencję, gdy potrzebujemy aliasu jakiejś zmiennej, więc nigdy nie możesz utworzyć zindywidualizowanego odświeżania.
  • Możesz ponownie zainicjować wskaźnik, ale po zainicjowaniu arefernce nie możesz go ponownie zainicjować.
  • Możesz utworzyć pusty wskaźnik i zainicjować go w dowolnym momencie, ale musisz zainicjować odwołanie tylko wtedy, gdy utworzysz odwołanie.
  • Uwaga:


    Java nie obsługuje wskaźników.

    Wniosek

    Wskaźnik i odniesienie służą do wskazywania lub odwoływania się do innej zmiennej. Oba różnią się jednak wykorzystaniem i implementacją.