Wskaźnik w języku C

Słownik kwalifikacji INF.04 - Projektowanie, programowanie i testowanie aplikacji

Co to jest wskaźnik w języku C?

Wskaźnik w języku C to zmienna, która przechowuje adres pamięci innej zmiennej, obiektu lub obszaru zaalokowanego dynamicznie. Nie przechowuje bezpośrednio zwykłej wartości, np. liczby 10, tylko informację, gdzie ta wartość znajduje się w pamięci.

Deklaracja wskaźnika

Wskaźnik deklaruje się za pomocą operatora *:

int *p;

Oznacza to, że p jest wskaźnikiem na zmienną typu int.

Pobranie adresu zmiennej

Do pobrania adresu zmiennej służy operator &:

int liczba = 10;
int *p = &liczba;

Tutaj p przechowuje adres zmiennej liczba.

Odczyt wartości przez wskaźnik

Operator * może też służyć do odwołania się do wartości znajdującej się pod adresem zapisanym we wskaźniku. Nazywa się to dereferencją:

printf("%d", *p); // wypisze 10

Do czego używa się wskaźników?

Wskaźniki są wykorzystywane m.in. do:

  • przekazywania zmiennych do funkcji przez adres,
  • dynamicznej alokacji pamięci,
  • pracy z tablicami i napisami,
  • tworzenia struktur danych, np. list jednokierunkowych,
  • bezpośredniego zarządzania pamięcią.

Ważne na egzaminie

Wskaźnik nie jest funkcją, nie jest typem tekstowym i nie przechowuje wartości logicznej. Najkrótsza poprawna definicja brzmi: wskaźnik to zmienna przechowująca adres pamięci.