per stampare in esadecimale devi usare %x, e per prendere l'indirizzo di memoria e non il valore che esso contiene non devi dereferenziare con *.