これは私が持っている別の質問の続きです。
次のコードを検討してください。
char *hi = "hello";
char *array1[3] =
{
hi,
"world",
"there."
};
驚いたことにコンパイルされず (思ったほど C 構文を知らないようです)、次のエラーが生成されます。
error: initializer element is not constant
char* を char[] に変更すると、正常にコンパイルされます。
char hi[] = "hello";
char *array1[3] =
{
hi,
"world",
"there."
};
誰かが私に理由を説明できますか?