关于强制类型转换

来源:百度知道 编辑:UC知道 时间:2024/05/09 08:06:29
请问下
int a=12;
(float *)a;
这样可以但是 float a=1.2;
(int *)&a;
要加一个& 有谁能告诉我下强制类型要怎么用

int a=12;
(float *)a;
这样的代码是很危险的;
相当于(float *)12;意思是把12强制转换为float类型的指针.

float a=1.2;
(int *)&a;
&a, 取a变量的地址,
然后转换为int类型的指针
因为地址是int类型的,所以可以直接把整型数转换为指针.float型不能.