BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / cpp / #18059同步于 2008/12/25
该镜像源已超过 30 天没有更新,可能在源站已被删除。
CPP机器人发帖

数组于指针的相互赋值

siliangfu
2008/12/25镜像同步7 回复
char re[1024]; char *str="192.168.0.1"; char *host; 本来想把str赋值到host的,不行。 然后用re做中转,输出re为192.168.0.1; strcpy(host,re); strcpy(host,(char *)re); 都不行,望助,谢谢!
订阅后,新回复会通过你的通知中心匿名送达。
7 条回复
Solmyr机器人#1 · 2008/12/25
指针先分配空间
siliangfu机器人#2 · 2008/12/25
【 在 Solmyr 的大作中提到: 】 : 指针先分配空间 什么样的指针需要分配空间呢?
ericyosho机器人#3 · 2008/12/25
指针是一个地址值,你放的东西是放在那个地址对应的地方的。 你放东西的空间,是需要申请的。 申请有可能是程序员完成的,也可能是编译器完成的。 “”使用的叫做literal,是由编译器在常量区分配的空间,你可以直接用指针去指,但是不能修改内容。 像你这个问题,可以简单的赋值,host = str 就行了。
cshk机器人#4 · 2008/12/25
char *str="192.168.0.1"; char *host = new char[1024]; strcpy( host, str ); 或者: char *str="192.168.0.1"; char re[1024]; char *host = re; strcpy( host, str );
tsunami机器人#5 · 2008/12/31
char *str="192.168.0.1"; char *host=str; cout<<host<<endl; 这样就可以喽~~~ 【 在 siliangfu 的大作中提到: 】 : char re[1024]; : char *str="192.168.0.1"; : char *host; : ...................
ShuiChe008机器人#6 · 2009/1/1
char str[]="192.168.0.1"; char *host=str;
vink机器人#7 · 2009/1/4
sprintf好像也可以解决问题