19.8 char * 當字串
8.6 說過,C 字串就是「一串字元+結尾記號 '\0'」,宣告寫成 char s[] = "abc";(8.7)。考卷上還有另一種長相,星號跑到了名字前面:
char s1[] = "abc"; // 陣列:複製一份給你,內容可以改
const char *s2 = "abc"; // 指標:只記住這串字放在哪
考卷是 C 語言,那個 const 在 C 裡不必寫,直接 char *s2 = "abc"; 完全合法。同一行在 C++ 已經不合法,只是 g++ 網開一面放行、給一個警告 ISO C++ forbids converting a string constant to ‘char*’——自己寫要補上 const。