Dopo tutto, entrambe queste affermazioni fanno la stessa cosa ...Dove è `% p` utile con printf?
int a = 10;
int *b = &a;
printf("%p\n",b);
printf("%08X\n",b);
Per esempio (con indirizzi diversi):
0012FEE0
0012FEE0
È banale per formattare il puntatore, se lo desideri con %x
, così c'è un buon uso dell'opzione %p
?
Utilizzando '% p' di stampare l'indirizzo della variabile in questione, "L'argomento void * pointer sono stampati in esadecimale (come per% # x o% # lx)." –
In C++, è possibile utilizzare typecast (void *): vedi http://stackoverflow.com/questions/5657123/how-to-simulate-printfs-p-format-when-using-stdcout –