C语言中\0究竟有什么用?
\0表示结束,但在实际字符数组中究竟有什么用?比如"字符数组的长度就显得不重要"这句话包含的意思。...
\0表示结束,但在实际字符数组中究竟有什么用?比如"字符数组的长度就显得不重要"这句话包含的意思。
展开
展开全部
结束符号‘\0’,也可以表示成数字0。(字符'\0'对应的ascii码就是0)
这个结束符号有没有实际上不影响字符数组实际内容。只是让程序识别字符串到哪里算结束。
特别是我们常用的一些关于字符串的函数,也是通过结束符号来识别字符串长度的。
所以我们定义字符数组存放字符串,通常会多申请一个字符空间,用来保存结束符号
举个例子:
比如下面这个简单代码。
"abcdefghi"这个字符串常量只有9个字符,但在实际最后还有一个结束符号0,所以我定义数组长度10。此时str【9】的值就是0
当调用strlen函数计算字符串长度时,得到的就是9。
但当我把str【3】的值变成0,strlen计算长度就知道str【3】为止(实际此时str【9】的值还是0,但只以第一个遇到的0为准)
#include <stdio.h>
#include <string.h>
int main()
{
char str[10]={"abcdefghi"};
printf("strlen(str)=%d %s\n",strlen(str),str);
str[3]=0;
printf("strlen(str)=%d %s\n",strlen(str),str);
return 0;
}
展开全部
1、'\0'就是为空的字符,所以什么都不输出。
2、'\0'是字符串的结束标志,遇到\0就表示该字符串已到末尾。
3、'\0'的ASCII码值为0。
2、'\0'是字符串的结束标志,遇到\0就表示该字符串已到末尾。
3、'\0'的ASCII码值为0。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这是c语言对字符串结束符的规定。也就是字符串的实际内容再加上一个'\0'表示了。比如:字符串:
char abc[10];
strcpy(abc,"hello");
则abc数组的存储结构为:
char abc[10];
strcpy(abc,"hello");
则abc数组的存储结构为:
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
'\0'是字符串的结束标志,遇到\0就表示该字符串已到末尾。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询