char *c[5]和char (*c)[5]的区别

 我来答
奇巧且深挚的小典范t
2020-03-30 · TA获得超过3.7万个赞
知道大有可为答主
回答量:1.3万
采纳率:31%
帮助的人:877万
展开全部
char
*c[5]
是一个char型的指针数组,他里面的每一个元素(c[0],c[1],...,c[4])都是一个指向char型变量的指针
char(*c)[5]是一个数组指针,他里面的每一个元素((*c+0),(*c+1),...(*c+4))都指向一个数组的首地址。而(*c+0)后面的[]则表示该数组中元素的具体位置。
尚秀荣谬珍
2020-02-12 · TA获得超过3.6万个赞
知道大有可为答主
回答量:1.3万
采纳率:35%
帮助的人:851万
展开全部
在字符串存储中最后都会加上一个结束符'\0'。所以存储5个字符的字符串应该要有6个空间。
所以char
c[5]="hello"
缺少结束符,但是调用c[0]~c[4]是可以正常使用的,但是使用strlen(c)、strcpy等时会出现错误,因为找不到结束标志。
char
c[6]="hello可以正常使用,因为有结束符'\0',c[5]='\0'
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式