float fNum = 12.3;
int *pF = (int *)&fNum;
printf("fNum:%f pF:%d \n", fNum, *pF);
*pF = 233;
printf("fNum:%f pF:%d \n", fNum, *pF);
return 0;
結果はこんな感じ
fNum:12.300000 pF:1095027917
fNum:0.000000 pF:233
なぜこのような結果になったのか知りたいですか?fNum
&*pf
は同じメモリを指していませんか?