编程论坛
注册
登录
编程论坛
→
C++教室
如何用整形的指针去指向字符型的变量??
newCpp
发布于 2009-10-08 21:57, 741 次点击
如何用
整形的指针去指向字符型的变量??
并且编译不出错?
我看C_C++指针经验总结.pdf上面有一段是讲这个的!
不过编译器不一样,好像运行结果也不行的哈!
我按他上面的做,VC6.0还是出错了!!
那么用指针指向字符型变量有办法没有的呀??
6 回复
#2
yxb0001
2009-10-09 00:11
类型转换即可.
#3
newCpp
2009-10-09 06:59
怎么转换的啊!!
谢谢说一下下啊!!
#4
yxb0001
2009-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
flyingcloude
2009-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