con (*A)+i) , cosa stò dicendo precisamente?
Con i sogni possiamo conoscere il futuro...
Tieni presente che A è un doppio puntatore ...
A[0] + i
non ha senso perché sommi un intero ad un puntatore.
L'altra puoi scriverla nei due modi
*((int *)*(A+i))
*(((int *)(*A)+i))
Ultima modifica di oregon; 12-04-2016 a 14:57
No MP tecnici (non rispondo nemmeno!), usa il forum.
Si , e qui ci siamo... stò cercando di immaginare uno schema per rappresentare il tutto.
**A = |void*|void*|void*|void*|void*|
dall'esempio, ogni elemento di A, contiene un indirizzo di memoria che punta ad un intero, per cui, effettuerò un cast in int*.
Ora mi domandavo:
(*A)+i
i incrementa da 0 a 4 ... *A può essere tradotto in A[0], cioè il primo elemento dell'array(che è un indirizzo).
Facendo (*A)+0,(*A)+1,(*A)+2,(*A)+3,(*A)+4 ...
per cui (*A)+0 => restituisce il primo indirizzo presente nell'array (void* che conterrà l'indirizzo &B[0] del primo intero..)
(*A)+1 => il secondo indirizzo dell'array..
e cosi vià...
Credo che ora mi è tutto chiaro![]()
Con i sogni possiamo conoscere il futuro...