1:代码如下:
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
// 5.5.cpp : 定义控制台应用程序的入口点。 // #include "stdafx.h" #include <iostream> using namespace std; int main() { int *pI = NULL; int i = 4; pI = &i; float f = 3.333f; bool b =true; void *pV = NULL; cout<<"依次赋值给空指针"<<endl; pV = pI; cout<<"pV = pI --------"<<*(int*)pV<<endl; cout<<"pV = pI ---------转为float类型指针"<<*(float*)pV<<endl; pV = &f; cout<<"pV = &f --------"<<*(float*)pV<<endl; cout<<"pV = &f --------转为int类型指针"<<*(int*)pV<<endl; ; return 0; }
运行结果:
2:从程序运行结果可以看到,为空指针赋值后,将其转化为对应的类型的指针才能得到我们所期望的结果。若将它转换为其它类型的指针,得到的结果将不可预知。