Wskaźniki i referencje 
Tablice i wskaźniki

Tablice są przechowywane w ciągłym obszarze pamięci tak jak to przedstawiono poniżej.

tablica

Tablica, to tak naprawdę adres pierwszego elementu tej tablicy. Jest to stały wskaźnik, czyli taki, którego nie można przesuwać. Zawsze będzie pokazywał na pierwszy element tablicy.

Skoro tablica jest stałym wskaźnikiem, to można stosować dla niej arytmetykę wskaźników

int t[] ={0,1,2,3,4,5};
cout << t[2] << endl;
cout << *(t+2) << endl;

Ostatnią linię przykładu należy rozumieć tak: przesuń adres pierwszego elementu tablicy o dwa rozmiary obiektu int, a następnie wypisz liczbę, która tam się znajduje.

Dla dociekliwych:
  • Analizator składniowy gcc zamienia każde odwołanie do elementu tablicy t[i] na równoważne mu *(t+i)
  • W konsekwencji można równie dobrze napisać i[t], na przykład 3[t] zamiast t[3]
  • Chociaż program się skompiluje i będzie działał poprawnie, to NIE ZALECAM stosowania takiej składni.

Przykład - tablica jako wskaźnik

Materiały przeznaczone wyłącznie dla studentów
Instytutu Informatyki i Matematyki Komputerowej UJ
Daniel Wilczak