Różnica między wskaźnikiem a odniesieniem
Autor:
Laura McKinney
Data Utworzenia:
1 Kwiecień 2021
Data Aktualizacji:
1 Lipiec 2024
![Różnica między wskaźnikiem a odniesieniem - Technologia Różnica między wskaźnikiem a odniesieniem - Technologia](https://a.fondoperlaterra.org/technology-differences/difference-between-pointer-and-reference.jpg)
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.
- Wykres porównania
- Definicja
- Kluczowe różnice
- Wniosek
Wykres porównania
Podstawa do porównania | Wskaźnik | Odniesienie |
---|---|---|
Podstawowy | Wskaźnik to adres pamięci zmiennej. | Odwołanie jest aliasem zmiennej. |
Zwroty | Zmienna 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 odniesienia | Zmienna 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 inicjalizacji | Zmienna wskaźnikowa może zostać zainicjalizowana w dowolnym momencie programu. | Zmienna referencyjna może zostać zainicjowana tylko w momencie jej utworzenia. |
Ponowna inicjalizacja | Zmienną 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 &.
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ą.