如何用整形的指针去指向字符型的变量??
如何用整形的指针去指向字符型的变量??
并且编译不出错?
我看C_C++指针经验总结.pdf上面有一段是讲这个的!
不过编译器不一样,好像运行结果也不行的哈!
我按他上面的做,VC6.0还是出错了!!
那么用指针指向字符型变量有办法没有的呀??
程序代码:#include <iostream>
typedef union //定义一个指针联合
{
char* pCharPoint;
int* pIntPoint;
}POINTDEMO,*PPOINTDEMO;
/*
演示指针联合的用法,同一地址空间的不同数据类型解释。
*/
int main(int argc,char** argv)
{
using namespace std;
char* strdemo = "String Demo";
POINTDEMO pu; //声明一个指针联合的实例
pu.pCharPoint = strdemo; //自然复制
pu.pIntPoint = (int*)strdemo; //强制转换
cout<<pu.pCharPoint<<endl; //输出
cout<<(char*)pu.pIntPoint<<endl; //强制转换输出
cout<<*(pu.pCharPoint + 1)<<endl; //输出第二个字符
cout<<*(char*)(pu.pIntPoint + 1)<<endl; //输出 +sizeof(int)个字符
return (int)0;
}
