* je pointer na premennú. Pomocou hvezdičky ukazuješ na miesto v pamäti a nie priamo na hodnotu (resp. adressa je taky len premenná v pamäti a ak teda neco ukladáš na určité miesto v pämeti, musíš čítať práve z toho miesta, bez hviezdičky by si prečítala hodnotu premennej ktorá obsahuje adressu pamäte kde sa nachádza vieľová premenná)... v prípade & práce získavaš adressu a dostávaš sa k hodnote premennej. & využiješ typicky pri čítaní dat.
vo for cykle takmer furt používam size_t. Ak máš compare tak vždy musia byť obe value stejného typu. Pretypovanie deláš spôsobom:
int i = 36;
char c = (char)i;
sú to základy.
Inak pre tvoj prípad prechádzanie viacerými polami alebo viac rozmernými polami je vhodné do seba zanoriť niekoľko for cyklov (koľko ich je potreba).
Tento obrázok ti objasní čo pointer je:
v C++ je to podobne / rovnako.