int a;
double p;
p = (double)&a;
*(int*)p = 10;
printf("%d",a);

結果:

>>232
これと勘違いしてない?