1.题目:
已有定义:char a[]="she",b[]={'s','h','e'};,以下叙述中正确的是( ) C
A)数组a和b的长度相同 B)a数组长度小于b数组长度
C)a数组长度大于b数组长度 D)上述说法都不对
2.分析:
“she”是字符串,以\0结束,而另一个是字符数组,没有’\0‘,所以a数组长度大于b数组长度
3.举例
char a[] = {'A','B','C'};
数组a存储
'A' 'B' 'C'
char b[] = "ABCDEF";
数组b存储
'A' 'B' 'C' 'D' 'E' 'F' \0
数组a是字符数组
数组b是一个字符串
一般字符串以说以\0结尾的
所以数组a不算是字符串
长度上也不相同
因为数组b多了个\0
4.讲讲区别
1.首先我们应该知道C语言中没有像C++一样字符串(string)这种数据类型,可以通过char的数组来代替
2.字符串一定是一个char的数组,但char的数组未必是字符串
3.\0结尾的char数组就是一个字符串,但如果char数组没有以\0结尾,那么就不是一个字符串,只是普通字符数组,所以字符串是一种特殊的char数组。