C语言指针赋值问题

C语言指针如何像C#的string类型一样使用?比如要达要的效果是char*p;charstr[]="hello";charayy[]="do";p=p+str;p=p+... C语言指针如何像C#的string类型一样使用?比如要达要的效果是
char *p;
char str[] = "hello";
char ayy[] = "do";
p = p + str;
p = p + ayy[0];
最后p="hellod"这样的效果,用C语言怎么实现呢?
展开
 我来答
zxpointer
2011-01-25 · TA获得超过4103个赞
知道大有可为答主
回答量:1868
采纳率:33%
帮助的人:1328万
展开全部
char szComb[100];
char *p;
char str[] = "hello";
char ayy[] = "do";
p = szComb;
strcat(p,str);
p += strlen(szComb);
*p = ayy[0];
*(p+1) = '\0';
p = szComb;
==============================
上面代码执行后p = "hellod"
也就是说 你让p能输出一个你要求的字符串,首先得让P指向一个空的实在的内存空间,就是那个szComb, 因为数据是要存放在内存中的,你如果只定义一个指针p后不定义出来它指向的空间,那没地方存放数据啊。所以本程序开始要先定义szComb来存放你要求的字符串。
剩下的就是字符串的操作问题了,切记最后以\0来结束这个字符串 否则在C里面它就不是字符串而是字符数组了。
zheng_zhiwen12
2011-01-25 · TA获得超过544个赞
知道小有建树答主
回答量:265
采纳率:100%
帮助的人:123万
展开全部
指针它也是一个变量,一次只能指向 一个地址,是不能进行你上面那样的操作的,如果 你想要把字符串连接起来可以有c语言带的strcat字符串连接函数,但是str数组的大小一定要大于连接后的总字符串大小的长度,否则会越界。
char *p;
char str[50] = "hello";
char ayy[] = "do";
p=str;//p指向str的首地址
strcat(p,ayy);//将ayy的字符串连接在str,即p指向的地址后
puts(p);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式