数组定义在栈中,其内容存储在堆中。

图1为定义并创建两个不相关数组的过程。java笔记之数组
图2为定义并创建两个数组且arrayB定义时将arrayA的地址赋给arrayB。由于两个数组指向同一块堆中的地址,故改变任一数组中的值时,另一数组值也随之改变。java笔记之数组
之后,我想到之前写C或者C++时,好像从未遇到这种情况,就试着写类似的C++程序,发现C++中在定义一个新数组时,不可直接将一个已有数组的地址值赋给新数组,因为C++中定义时就给了新数组开辟了地址,而Java中是new时才给数组开辟地址空间,定义数组只不过是给数组名一个栈中用来存放地址的空间而已。

相关文章:

  • 2021-08-20
  • 2021-05-25
  • 2021-11-07
  • 2021-05-21
  • 2021-12-20
  • 2021-11-05
  • 2022-01-17
  • 2021-06-01
猜你喜欢
  • 2021-10-10
  • 2021-06-19
  • 2022-12-23
  • 2021-05-20
  • 2021-09-30
  • 2022-12-23
相关资源
相似解决方案