2darray-C与Java

2darray-C与Java,java,c,arrays,programming-languages,multidimensional-array,Java,C,Arrays,Programming Languages,Multidimensional Array,C(int**arr)中的动态2D数组与Java(int[]]arr)中的2D数组有什么区别 C/C++中的2D数组与Java中的2D数组类似吗 非常相似。当然,Java中的数组是完全成熟的对象,而不是组成类型的“裸”序列,但是多维数组也是以同样的方式有效地完成的,有指向数组的指针数组。是的,它们非常相似。java数组的好处是您无法访问不存在的单元格(您会得到ArrayOutOfBoundsException) 我认为重要的一点是,两者都是对数组的引用,因此在将数组传递给方法时,不会重复/克隆数

C(int**arr)中的动态2D数组与Java(int[]]arr)中的2D数组有什么区别


C/C++中的2D数组与Java中的2D数组类似吗

非常相似。当然,Java中的数组是完全成熟的对象,而不是组成类型的“裸”序列,但是多维数组也是以同样的方式有效地完成的,有指向数组的指针数组。

是的,它们非常相似。java数组的好处是您无法访问不存在的单元格(您会得到ArrayOutOfBoundsException)


我认为重要的一点是,两者都是对数组的引用,因此在将数组传递给方法时,不会重复/克隆数组。

答案将根据要比较的部分而变化

在Java中,数组是具有方法和属性的对象,但在C/C++中,它们不是对象

两者的相似之处在于数组维度可能不同。我的意思是,arr[0]可以是三维的,arr[1]5维的,等等

Java正在检查数组边界,因此如果您试图到达数组边界之外的索引,将抛出异常,但是在C/C++中不会抛出异常。然而,您可能最终会遇到“分段错误”