字符串:必须以\'\0\'结尾; // ‘ \0 ’ 的意义是“字符串结束符”。
字符数组:可以包含多个\'\0\',但是如果当做字符串处理,则实际有效字符串为第一个\'\0\'的签名的字符串,如果当做字符数组处理,可以处理字符数组的任何一个字符,所有的字符都可以是\'\0\'。
假设一个字符指针指向字符串“aaaaaa”,如果通过指针下标是第三个a为\'\0\',则字符指针就只有三个长度,如果你的下标超过3则越界,字符数组只要不超过数组大小就不越界。
(就是超过数组下标范围,比如,你声明数组a时的最大下标是15,出来一个a(16),就是下标越界)
(指针使用下标时,可以理解为数组.例如:
char *p = "abcdef";
此时p[2]值 为\'c\'.而p表示字符串"abcdef"的首地址,*p的值则相当于p[0],值为\'a\'.)