char *name[] 定義一個指針數組,每個元素指向一個字符串常量的首地址。數組名 name 在表達式中退化為指向首元素的指針(即 char **),而 name[i] 的類型是 char *,直接指向字符串。
printf("%s\n", *name[1]); // 錯誤:解引用導致取到字符 'g' 的地址,而非字符串地址
printf("%s\n", name[1]); // 正確:name[1] 本身就是字符串首地址
*name[1] 等價於 *(name[1]),得到字符 'g'(ASCII 103),作為地址傳給 %s 導致未定義行為。正確用法直接傳遞 name[1]。

數組在棧上分配指針,指針指向只讀數據段的字符串常量。
name[i] 直接獲取字符串指針。char **p = name; 可實現多級間接訪問。