C语言中字符串数组的结束符号

例如chars[]="abc"中,数组s的具体赋值为:s[0]='a',s[1]='b',s2='c',s3='\0',这样子对吗?那么,如果char*str[]={"a... 例如char s[]="abc"中,数组s的具体赋值为:s[0]='a', s[1]='b', s2='c', s3='\0',这样子对吗?
那么,如果char *str[]={"abc","def","ghi"},是不是表示定义了3个指针str[0],str[1],str[2]?
str[0]指向"abc"的首地址,str[1]指向"def"的首地址,str[2]指向"ghi"的首地址?那有没有str[3]?如果有,它表示的是什么?
我对这些指针数组还不是很懂,希望大家多多指导,先谢谢了
就像在char s[]="abc"用循环语句for(i=0;s[i]!='\0';i++)输出每一个字符一样,判断结束的依据可以用s[i]!='\0'
那char *str[]={"abc","def","ghi"} ,有没有类似的方法啊?
展开
 我来答
123冰霜雪月
2012-02-12 · TA获得超过303个赞
知道小有建树答主
回答量:368
采纳率:0%
帮助的人:248万
展开全部
没有str[3]
否则越界了
至于 s[0]='a', s[1]='b', s2='c', s3='\0',
\0是系统自动给你加的 你不用考虑
追问
就像在char s[]="abc"用循环语句for(i=0;s[i]!='\0';i++)输出每一个字符一样,判断结束的依据可以用s[i]!='\0'
那char *str[]={"abc","def","ghi"} ,有没有类似的方法啊?
marilynbkun
2012-02-12 · TA获得超过756个赞
知道小有建树答主
回答量:328
采纳率:0%
帮助的人:243万
展开全部
char *str[]第一维是指向字符串数组的指针(指向指针的指针),并不是一个char字符串。所以没有用已结束符号。
追问
就像在char s[]="abc"用循环语句for(i=0;s[i]!='\0';i++)输出每一个字符一样,判断结束的依据可以用s[i]!='\0'
那char *str[]={"abc","def","ghi"} ,有没有类似的方法啊?
追答
#include 
using namespace std;

int main()
{
char *str[] = {"abc","def","ghi"};
char **p = str;
int i;
int j;
for(i = 0; i < 3; i++)
{
if(p != NULL)
for(j = 0; (*p)[j] != '\0'; j++)
cout << (*p)[j];
cout << endl;
p++;
}
system("pause");
return 0;
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
haitao5782038
2012-02-12
知道答主
回答量:12
采纳率:0%
帮助的人:9.7万
展开全部
同意123冰霜雪月 的回答
追问
就像在char s[]="abc"用循环语句for(i=0;s[i]!='\0';i++)输出每一个字符一样,判断结束的依据可以用s[i]!='\0'
那char *str[]={"abc","def","ghi"} ,有没有类似的方法啊?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2012-02-12
展开全部
没有str[3]
追问
就像在char s[]="abc"用循环语句for(i=0;s[i]!='\0';i++)输出每一个字符一样,判断结束的依据可以用s[i]!='\0'
那char *str[]={"abc","def","ghi"} ,有没有类似的方法啊?

参考资料: 没有str[3]

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式