【发布时间】:2011-12-11 16:31:27
【问题描述】:
这是我拥有的另一个question 的延续。
考虑以下代码:
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."
};
谁能解释一下为什么?
【问题讨论】: