【发布时间】:2016-09-17 13:06:54
【问题描述】:
这个说法是正确的:
char *c[3] = {"abcd", "efgh", "jklm",};
这个虽然结构相似,但编译器不喜欢它。
int *a[3] = {{48,49,50,51}, {5,6,7,8}, {9,10,11,12},};
它们有何不同?编译器不能从 a 的初始化中推断出大小吗?
在我看来,编译器对char * 的处理方式不同。
【问题讨论】:
-
你可以使用复合文字:
int *a[3] = {(int[4]){48,49,50,51}, ...} -
数组不是指针(反之亦然)!
标签: c