将int类型地址强制转换为float *,然后进行解引用的问题

int main()
{
 int a = 3;
 float *p = &a;//warning:initialization from incompatible pointer type(初始化类型与指针类型不一致)
 float *p1 = (float *)&a;
 printf("%f", *p1);
 //打印数据不为3。因为a的地址被强制转换为flaot*之后,再次通过*p解引用则解析方式按照float类型解析
 return 0;
}

你可能感兴趣的:(强制转换)