字符串:必須以'\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'.)