PDA

View Full Version : [c++] come incrementare un puntatore in un array bidimensionale?


thePiki
28-01-2010, 15:35
Ciao :)

in un array monodimensionale si possono usare i puntatori in questo modo:

int array[3]={1,2,3};
int *p;
p=array; //punta a 1
p++; // adesso punta a 2

secondo voi si può fare una cosa del genere su un array bidimensionale in modo che automaticamente passi di riga in riga?

per intenderci (so che è sbagliata la sintassi, ma è per capire):

int array[2][2]={{1,2},{3,4}};
int *p;
p=array; //punta a 1
p++; // adesso punta a 2
p++; //adesso punta a 3!!!

grazie

thePiki
28-01-2010, 17:57
in alternativa, se qualcuno saprebbe indicarmi come fare un forward iterator su un array bidimensionale, che scorrerebbe gli elementi riga per riga (che è poi quello che vorrei fare attraverso la domanda precedente...)

grazie

fero86
28-01-2010, 18:24
potresti memorizzare tutte le righe una dopo l'altra in un unico array monodimensionale; se non puoi farlo non vedo perché dovresti usare un puntatore anziché gli indici di un doppio for.