Wskaźnik w C++
Słownik kwalifikacji INF.03 - Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych
Wskaźnik to zmienna, która przechowuje adres pamięci innej zmiennej. W deklaracji wskaźnika używa się znaku * przy typie lub nazwie zmiennej.
Składnia
typ *nazwa;
Przykład:
double *x;
Oznacza to, że x jest wskaźnikiem na wartość typu double, czyli może przechowywać adres zmiennej rzeczywistej typu double.
Przykład użycia
double liczba = 3.14;
double *x = &liczba;
cout << x; // adres zmiennej liczba
cout << *x; // wartość zmiennej liczba, czyli 3.14
W tym przykładzie:
&liczbaoznacza adres zmiennejliczba,xprzechowuje ten adres,*xoznacza wartość znajdującą się pod adresem zapisanym wx.
Ważne rozróżnienie
W deklaracji:
double *x;
znak * oznacza, że deklarowana zmienna jest wskaźnikiem.
W wyrażeniu:
*x
znak * oznacza odwołanie do wartości wskazywanej przez wskaźnik, czyli dereferencję.
Dobra praktyka
Nie należy zostawiać wskaźnika bez określonej wartości. Jeśli wskaźnik na początku nie wskazuje na żadną zmienną, warto przypisać mu nullptr:
double *x = nullptr;
Zapobiega to przypadkowemu użyciu niezainicjalizowanego adresu pamięci.