注册 登录
编程论坛 C++教室

如何用整形的指针去指向字符型的变量??

newCpp 发布于 2009-10-08 21:57, 741 次点击
如何用
整形的指针去指向字符型的变量??

并且编译不出错?
我看C_C++指针经验总结.pdf上面有一段是讲这个的!
不过编译器不一样,好像运行结果也不行的哈!
我按他上面的做,VC6.0还是出错了!!
那么用指针指向字符型变量有办法没有的呀??
6 回复
#2
yxb00012009-10-09 00:11
类型转换即可.
#3
newCpp2009-10-09 06:59
怎么转换的啊!!
谢谢说一下下啊!!
#4
yxb00012009-10-09 10:40
char *p;
int *p1;

*p1=(int)*p;

另atoi,atol,atof也是字符串类型转换的函数

[ 本帖最后由 yxb0001 于 2009-10-9 10:45 编辑 ]
#5
东海一鱼2009-10-09 11:11
程序代码:
#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;
}
#6
flyingcloude2009-10-09 11:13
以下是引用yxb0001在2009-10-9 10:40:27的发言:

char *p;
int *p1;

*p1=(int)*p;

另atoi,atol,atof也是字符串类型转换的函数
应该是这样吧 p1=(int*)p;
#7
最左边那个2009-10-09 12:35
整形的指针去指向字符型的变量
#include<iostream>  
using namespace std;  
 
void main()  
{  
    int *i;
    char *j;
 
 
   j=(char*)i;
 
}
1