Это продолжение другого вопроса , который у меня есть.
Рассмотрим следующий код:
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."
};
Может кто-нибудь объяснить мне, почему?