Czym jest wskaźnik w C++?
Wskaźnik to zmienna, która przechowuje adres innej zmiennej w pamięci. Nie przechowuje bezpośrednio wartości liczbowej, tekstu ani znaku, lecz informację, gdzie taka wartość znajduje się w pamięci komputera.
W C++ wskaźnik oznacza się operatorem * przy deklaracji typu.
Przykład deklaracji
int *p;
double *x;
Deklaracja:
double *x;
oznacza, że x jest wskaźnikiem na zmienną typu double, czyli może przechowywać adres zmiennej zmiennoprzecinkowej typu double.
Uwaga: zapis double x*; jest niepoprawny składniowo w C++. W pytaniach egzaminacyjnych często chodzi o zapis double *x; lub double* x;.
Operator adresu &
Aby przypisać wskaźnikowi adres zmiennej, używa się operatora &:
double liczba = 3.14;
double *x = &liczba;
Tutaj x przechowuje adres zmiennej liczba.
Operator wyłuskania *
Operator * może też służyć do odczytania wartości spod adresu przechowywanego we wskaźniku:
cout << *x;
Instrukcja wypisze wartość zmiennej liczba, czyli 3.14.
Najważniejsze do egzaminu
doubleoznacza typ zmiennoprzecinkowy podwójnej precyzji,double *x;oznacza wskaźnik nadouble,- wskaźnik przechowuje adres pamięci,
- sam znak
*przy deklaracji wskazuje, że zmienna jest wskaźnikiem.