强制类型转换-值和地址

来源:互联网 发布:java服务器端部署 编辑:程序博客网 时间:2024/06/03 19:06

今天遇到一个强制类型转换的问题:一个是对值进行强制类型转换,一个是对值的地址进行强制类型进行转换后再次读取。得到的结果当然不相同。对变量的值进行强制类型转换,是把值按照另外一种类型进行存储后读取,变量在内存中的存储形式发生变化;而对变量的地址进行强制类型转换,是变量在内存中的存储形式未发生变化,而在变量读取时读取的方式发生变化。

例子如下:

 

#include <stdio.h>int main(){int a = 3;float b;float c;b = (float)a;c = *((float *)&a);printf("b = %f\nc = %f\n",b,c);return 0;}


结果如下:

程序的内存:

 

 

原创粉丝点击