【发布时间】:2011-06-10 07:32:10
【问题描述】:
我的大脑最近变得很模糊,我一生都记不起为什么下面的 C 代码:
char a[3][3] = { "123", "456", "789" };
char **b = a;
生成以下警告:
warning: initialization from incompatible pointer type
谁能帮我解释一下。
谢谢。
【问题讨论】:
-
请注意,您的声明中的“123”不再是字符串,因为您截断了 \0。 “123”作为字符串包含 4 个字符,而不是 3 个。
标签: c arrays pointers initialization