C语言中‘\0’代表什么意思?
5个回答
展开全部
‘\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
注意:在字符数组中’\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
展开全部
。。。
'\0'的意思是
ASCII
为
0
的字符。
它所的意义是“字符串结束符”。
比如,一个字符串
"Hello"
,它是由字符
'H','e','l','l','o','\0'
6
个字符在内存中连续存放的。程序在见到第一个
'\0'
时就会认为该字符串结束了。
楼上的楼上所说的
“NULL”
只是一个用来表示空指针的宏定义,跟这个没有太大关系。虽然
(NULL
==
'\0')
这个表达式返回的是“真”,但这两个东西完全不是一个意义。
'\0'的意思是
ASCII
为
0
的字符。
它所的意义是“字符串结束符”。
比如,一个字符串
"Hello"
,它是由字符
'H','e','l','l','o','\0'
6
个字符在内存中连续存放的。程序在见到第一个
'\0'
时就会认为该字符串结束了。
楼上的楼上所说的
“NULL”
只是一个用来表示空指针的宏定义,跟这个没有太大关系。虽然
(NULL
==
'\0')
这个表达式返回的是“真”,但这两个东西完全不是一个意义。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
'\0'代表的是空字符
每个字符串尾自动加一个
‘\0’
作为字符串结束标志(这也是字符与字符串的区别所在)
ascii的值是0
每个字符串尾自动加一个
‘\0’
作为字符串结束标志(这也是字符与字符串的区别所在)
ascii的值是0
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询