这是我的另一个问题的延续。
考虑以下代码:
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."
};
有人可以向我解释为什么吗?