当定义这两种数组都不给元素个数,即让编译器自动分配空间的时候,编译器自动会在字符串数组后加"\0"结束符号,而字符数组则不会加"\0"结束符号。
#include<stdio.h>
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;
}