dato un ..array di array.. dichiarato cosi..
int A[3][3];

ho bisogno di inizializzarlo..
non mi interessa farlo nelle classiche maniere
lo voglio fare con l'aritmetica dei puntatori.
--------------------------
// CASO 1)

for(int i=0; i<9; i++ ){
*(A+i)=0;
cout << i;
}

// errore di tipo.. ok!

--------------------------
// CASO 2)

for(int i=0; i<9; i++ ){
**(A+i)=0;
cout << i;
}

//segmentation fault ! (subito) ???

--------------------------
// CASO 3)

for(int i=0; i<9; i++ ){
*(*A + i)=0;
cout << i;
}

// funziona correttamente..

---------------------------

perche' nel CASO 2 mi da subito segmentation fault
e non mi stampa niente?
mi aspettavo 012 e poi segmentation fault
o almeno 0 e poi segmentation fault.

..quando i vale 0 questo *(*A)=0 e' lecito..
al massimo qui *(*A+1)=0 iniziano i problemi.. ma anche no!
perche' dovrebbe corrispondere alla prima cella del secondo array..

qualcuno sa il motivo di questo comportamento, a mio parere, "un po' anomalo".. ??

..forse non ho ben capito come vengono allocati gli array bidimensionali in memoria.. e quindi applico l'aritmetica dei puntatori in maniera erronea..