V jazyku C je pole prvkov (teraz mám na mysli názov poľa) ekvivalentné smerníku na prvý prvok poľa. Ak máme pole int x[5], potom
&x[i] je to isté ako
x - adresa prvého prvku v poli
Čiže z tohto poznatku sa dostávame ďalej - ak potrebujeme pristúpiť k i-tému prvku poľa (napríklad tam uložiť int hodnotu 10), tak môžme to urobiť takto:
x[i] = 10 alebo takto
*(x + i) = 10
Treba si len uvedomiť, že operátor
* získa hodnotu premennej na adrese, ktorá za týmto operátorom nasleduje.
Pri dvojrozmernom poli je to trocha komplikovanejšie, ale stále tu platí rovnaký princíp. Zápis
int pole[2][2] je pointer na pointer na int. Neviem, či by som to bol schopný vysvetliť tak, aby si to pochopil, tak skús si preštudovať
tento materiál.