我看了这个SO post没有帮助。
int main()
{
int a[][] = {{1,2},{3,4}};
}
错误
$ gcc a.c
a.c:6:8: error: array has incomplete element type 'int []'
int a[][] = {{1,2},{3,4}};
^
1 error generated.
为什么 a[][]
类型不完整?
为什么 int a[][2]
没问题?
我会假设既然编译器可以初始化这个二维数组,它也可以自动计算出边界?我知道我需要提供尺码,但为什么呢?对语言有要求吗?
最佳答案
只有一个索引可以自动调整大小。否则,您可能会在大小上有任何一对因素。所以 a[][2]
有效,但 a[][]
无效,因为它无法猜测数组数组的大小。
关于c - 未指定两个边界的二维数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39989927/