用实例解释下:字符数组可以不含空字符

书上写着:字符串以空字符结尾,即字符串的最后一个字符总是空字符。而字符数组可以不含空字符
给个实例解释下

假设char *p = "acd\0ge";这个字符串只道d就结束了
数组同样 char a[] = “acde”数组在末尾的时候会自动加上一个\0
假设数组:char a[3] = {'a','b','c'};这个数组只能包含3个字符,所以这里肯定不可能存在\0,在输出的时候数组就会越界,编译器在每个字符串末尾都会加上一个\0,但这里由于开辟的空间不足,所以。。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-08-19
这个是概念上的错误
因为 字符串 一般是用\0 即空字符作为结束符 但是并不代表 字符串的中间就不可以含有\0。

实例:
char str[10] = "1234\0567";
是没有错误的。
第2个回答  2011-08-19
问题看不太懂啊
字符串的最后一个字符一定是 /0 而数组 比方是3个长度的 可以是[a][a][a]也可以是[a][a][](最后一个是真正的空 而不是/0)

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网