注册 登录
编程论坛 C++教室

转变问题

dcrlj 发布于 2008-08-21 22:32, 484 次点击
float i = 1.0;
    int p = *(int*)&i;


第二个转变是什么意思啊?????
4 回复
#2
dcrlj2008-08-22 09:04
非常着急.请那位高手速回答,谢谢
#3
zzt_4282008-08-22 10:40
回答
&i 是取i 的地址,加上(int *) 是把i的地址转变为int 型指针,然后在加* 是取内容 所以 *(int *)&i  就是i
#4
dcrlj2008-08-22 19:46
我原因也是这第理解的但得的值并不是i值啊,请详解...
#5
zerocn2008-08-22 20:01
[bo][un]dcrlj[/un] 在 2008-8-22 19:46 的发言:[/bo]

我原因也是这第理解的但得的值并不是i值啊,请详解...


如果是这样的话的就是i的值,如果是float的话就不是了,应该是在(int*)&i;这里转换成Int指针的问题,但是我不会,但高人来回答
int i = 1.0;
    int p = *(int*)&i;
1