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