Wskaźnik (zmienna wskaźnikowa) to zmienna, której wartością jest adres w pamięci. Ten adres zwykle wskazuje na inną zmienną albo na początek pewnego obszaru danych. Taka konstrukcja pozwala na tzw. dostęp pośredni: zamiast pracować na samej wartości, przechowujemy informację "gdzie w pamięci ta wartość się znajduje", a następnie odwołujemy się do niej poprzez dereferencję.
Dlaczego poprawna jest odpowiedź:
"która zawiera adres innej zmiennej w pamięci" oddaje istotę wskaźnika: przechowywanie adresu (lokalizacji) danych.
Dlaczego pozostałe odpowiedzi są błędne:
- "typu dynamicznego" – "dynamiczny" dotyczy zwykle sposobu tworzenia/zarządzania danymi w czasie działania programu (np. alokacja), a nie definicji wskaźnika. To, że w praktyce często używa się wskaźników do obsługi pamięci dynamicznej, nie znaczy, że wskaźnik jest "typem dynamicznym".
- "obiektową danej klasy" – obiekt jest instancją klasy w programowaniu obiektowym. Obiekt może być przechowywany bezpośrednio albo może być do niego wskaźnik, ale sama "zmienna wskaźnikowa" nie oznacza "zmiennej obiektowej". To inna kategoria pojęciowa.
- "tablicową" – tablica jest uporządkowanym zbiorem elementów tego samego typu. W niektórych językach (np. C) nazwa tablicy w wielu kontekstach ulega konwersji do wskaźnika na pierwszy element, co bywa źródłem pomyłek. Jednak tablica i wskaźnik to nie to samo: tablica opisuje strukturę danych, a wskaźnik przechowuje adres.
Wskazówka egzaminacyjna: jeśli w treści pojawia się "adres w pamięci", "wskazuje na", "odwołanie pośrednie", to najczęściej chodzi o wskaźnik. Jeśli jest mowa o "zbiorze elementów" – to tablica; o "instancji klasy" – to obiekt.