字符数组
很多人以为字符数组与字符串数组是一回事。但事实并非这样,我们来看一个实例分析:
在show出实例前,我这里根据自己的理解给出字符数组的定义。
字符数组就是以单个字符为数组元素的数组,它与字符串数组最大的区别在于:
当定义这两种数组都不给元素个数,即让编译器自动分配空间的时候,编译器自动会在字符串数组后加"\0"结束符号,而字符数组则不会加"\0"结束符号。
五:实践是检验真理唯一的办法
#include
int main (void)
{
char str[] = {'H','e','l','l','o'};
char str1[] = "hello";
printf("sizeof(str[])=%d\n",sizeof(str));//此处打印结果是5
printf("sizeof(str1[])=%d\n",sizeof(str1));//此处打印结果是6
while(1)
{
if('\0'==str[i])
{
break;
}
printf("%c",str[i++]);
}
return 0;
}
字符数组的个数是5个,编译器不会再后面加"\0"结束符,
字符串数组的元素个数是6,编译自动在后面加上了"\0"结束符。
|