3

为什么

int arr[][]=new int[5][];

声明很好,但是

int arr[][]=new int[][5]    

生成编译时错误?
请帮帮我。我无法理解为什么会这样?

4

1 回答 1

10

int arr[][](通常写为int[][] arr)是一个数组,其中的每个元素又是对数组的引用。

new int[][5]将意味着“创建一个长度未知的数组,其中每个元素都是对数组的引用,每个长度为 5”。显然,这没有意义。

另一方面,new int[5][]表示“创建一个长度为 5 的数组,其中每个元素都是对数组的空引用”。

于 2012-07-13T01:33:09.993 回答