VC++ 6.0试了一下
#include <iostream.h>
void main()
{
char a=1;
void *pi=&a;
cout<<*(float*)pi<<endl; //用float型指针解析char
}
输出 -1.07373e-008
char a=1 在内存中是
00000001
而 -1.07373e-008 根据浮点数存储方法是
11001100
11001100
11001100
00000001
为什么没有定义的内存在空闲时间中,每个字节是11001100,而不是00000000或者是随机数?
这是和操作系统的分配有关.?还是和硬件或者是编译程序有关的吖.?