Zzio_mangroviaUtente AttivoIscritto daott, 2015Messaggi31329 giu 2018, 22:56int u[4] = { 1,2,3,4} ; int* p1=&u[1]; *p2=&u[3]; cout << p2-p1 cout << long(p2)-long(p1); mi torna che la prima cout generi un 2 com risultato non capisco come mai la seconda possa generare 8. Viene eseguito un casting sul puntatore ?
/Anonimizzato23582Utente anonimizzato29 giu 2018, 23:03Se fai così trasformi l'indirizzo contenuto nei puntatori in numeri interi con segno di tipo long...e la differenza algebrica tra questi due numeri è proprio 8
OoregonSuper FamosoIscritto danov, 2011Messaggi2191730 giu 2018, 06:40Nella prima utilizzi l'aritmetica dei puntatori, nella seconda no.
Zzio_mangroviaUtente AttivoIscritto daott, 2015Messaggi31330 giu 2018, 08:03Grazie a tutti ! capito perfettamente