永发信息网

指针赋值问题求助

答案:2  悬赏:70  手机版
解决时间 2021-05-06 03:28
  • 提问者网友:棒棒糖
  • 2021-05-05 19:58

int main()
{
Hstring s1,s2,t;
s1.ch="guangdonggongyedaxue";
for(int i=0;s1.ch[i]!='\0';i++)
s1.length=i;

s2.ch="xujianpu";
for(int i=0;s2.ch[i]!='\0';i++)
s2.length=i;

concat(t,s1,s2);
for(int i=0;i<t.length;i++)
{ printf("%c",t.ch[i]);
}
return 0;
}

这样赋值s1.ch="guangdonggongyedaxue";
有什么不妥吗?为什么有人告诉我说字符串能赋值给指针吗?意思就是不行喽,但是又没说为什么不行,请大家帮忙看看,谢谢了~··

最佳答案
  • 五星知识达人网友:持酒劝斜阳
  • 2021-05-05 20:09

不妥。


指针s1没有给定初始值,也就是s1指向的空间不确定,如果这时给它赋值,很有可能会带来不可预知的后果(当然也可能正常运行)。


可以将字符串赋值给指针,前提是指针有了初始值,也就是知道它所指向的空间在哪。如:


string t[]="test";


string *test=t;


*test="hello";


cout<<*test;//结果为hello

全部回答
  • 1楼网友:杯酒困英雄
  • 2021-05-05 21:08
我学过好几种,没见过这种表示。赋指针,先定义指针便量,在赋值,例char*p;p="ajmujtmgjugj".还可以用字符数组例char j[6]={'a','d','j','m','g','\0'}字符数组大小至少比字符个数大一!
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯