2D Array - C vs Java



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

C/c++中的2D Array与Java中的2D Array相似吗?

答案会根据你想比较的部分而改变。

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

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

Java正在检查数组边界,因此如果你试图到达数组边界之外的索引将抛出异常,但是在C/c++中不会抛出异常,但是,你可能会以"分段错误"告终。

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

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

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

相关内容

  • 没有找到相关文章

最新更新