C语言中‘\0’代表什么意思?

 我来答
关印枝胡巳
2020-03-02 · TA获得超过3.6万个赞
知道大有可为答主
回答量:1.3万
采纳率:28%
帮助的人:932万
展开全部
‘\0’是判定字符数组结束的标识,表示这串字符到结尾了;或'\0'是字符串的结束符,任何字符串之后都会自动加上'\0'。
注意:在字符数组中’\0’是占一个位置的。
例如定义charc[6]=“hello”,而在内存中字符数组c则是"hello\0";即’\0’在数组中占有空间却不被看到;所以如果一个长度为10的字符串要放在字符数组里的话就应该把字符数组的长度定义为11;
代码示例:
#include<stdio.h>
int
main()
{
char
s[6]="hello";
int
i=0;
while(s[i]!='\0')
{
printf("%c
",s[i]);
i++;
}
printf("\n");
}
输出结果:
h
e
l
l
o
Press
any
key
to
continue
扩展资料
分析:
'\0'的ASCII是0
例如:
char
sText[5];
sText[0]='a';
sText[1]='a';
sText[2]='a';
sText[3]='a';
sText[4]='\0';
cout<<sText<<endl;
//这样输出就是4个a
//
如果数组的第五个元素即:
sText[4]='a';
cout<<sText<<endl;
//这样输出就是5个a和一堆乱码,甚至发生系统错误,因为该字符串没有字符串结尾符。
\0是C++中字符串的结尾标志,存储在字符串的结尾。比如charcha[5]表示可以放4个字符的数组,由于c/c++中规定字符串的结尾标志为'\0',它虽然不计入串长,但要占内存空间,而一个汉字一般用两个字节表示,
且c/c++中如一个数组cha[5],有5个变量,分别是cha[0],cha[1],cha[2],cha[3],cha[4],
所以cha[5]可以放4个字母(数组的长度必须比字符串的元素个数多1,用以存放字符串结束标志'\0')或者放2个汉字(1个汉字占2个字节,1个字母占一个字节),cha[5]占5个字节内存空间。
参考资料:
搜狗百科——
\0
仍蝶薄桥
2019-05-06 · TA获得超过3.6万个赞
知道小有建树答主
回答量:1.4万
采纳率:25%
帮助的人:932万
展开全部
。。。
'\0'的意思是
ASCII

0
的字符。
它所的意义是“字符串结束符”。
比如,一个字符串
"Hello"
,它是由字符
'H','e','l','l','o','\0'
6
个字符在内存中连续存放的。程序在见到第一个
'\0'
时就会认为该字符串结束了。
楼上的楼上所说的
“NULL”
只是一个用来表示空指针的宏定义,跟这个没有太大关系。虽然
(NULL
==
'\0')
这个表达式返回的是“真”,但这两个东西完全不是一个意义。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
易玉兰单画
2019-06-13 · TA获得超过3.7万个赞
知道大有可为答主
回答量:1.4万
采纳率:28%
帮助的人:915万
展开全部
'\0'代表的是空字符
每个字符串尾自动加一个
‘\0’
作为字符串结束标志(这也是字符与字符串的区别所在)
ascii的值是0
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
一变班爱麻啊堡0J
高粉答主

2020-01-13 · 醉心答题,欢迎关注
知道答主
回答量:11.4万
采纳率:2%
帮助的人:5665万
展开全部
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
敦厚又奔放丶银杏a
高粉答主

2020-10-03 · 说的都是干货,快来关注
知道答主
回答量:4.9万
采纳率:5%
帮助的人:2432万
展开全部
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式