编程论坛
注册
登录
编程论坛
→
C++教室
转变问题
dcrlj
发布于 2008-08-21 22:32, 484 次点击
float i = 1.0;
int p = *(int*)&i;
第二个转变是什么意思啊?????
4 回复
#2
dcrlj
2008-08-22 09:04
非常着急.请那位高手速回答,谢谢
#3
zzt_428
2008-08-22 10:40
回答
&i 是取i 的地址,加上(int *) 是把i的地址转变为int 型指针,然后在加* 是取内容 所以 *(int *)&i 就是i
#4
dcrlj
2008-08-22 19:46
我原因也是这第理解的但得的值并不是i值啊,请详解...
#5
zerocn
2008-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