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][]「各要素が配列への null 参照である長さ 5 の配列を作成する」ことを意味します。

于 2012-07-13T01:33:09.993 に答える