Hola! esto *p=&d; esta mal, la forma correcta es:
Si vos queres cambiar el contenido a donde apunta p tenes que usar el operador "*", ejemplo:
Código C:
Ver original*p=*p+45; // modifico el contenido a donde apunta p, es decir cambio el valor de d
printf("%d %d\n",d
,*p
); // en ambos casos se va a imprimir 90
OJO! no es lo mismo hacer *p=*p+45; que hacer p=p+45;
Saludos