老师好,请问这个arr1删除的不是内存中存储的值吗

老师好,请问这个arr1删除的不是内存中存储的值吗

相关截图:

https://img1.sycdn.imooc.com//climg/61c531ad09ed745910460342.jpg

这些代码中,arr1和arr2指向不应该是指向同一个内存吗,如果arr1中内存的值被改变了,因为arr2的指向相同,那么arr2中的值不应该也是被改变吗

正在回答

登陆购买课程后可参与讨论,去登陆

1回答

同学你好,arr1删除的是内存中存储的值,但是arr1和arr2并不指向同一个内存,例如两个空数组也是不相等的

https://img1.sycdn.imooc.com//climg/61c53336097b4a5001180051.jpg

代码中是将arr1中每项放入arr2中,并不是直接将arr1赋值给arr2 。

所以是arr1[1]与arr2[1]指向同一个地址。arr1[1]内容改变,arr2[1]内容也会改变。arr1改变(不涉及到arr1[1]),arr2不会跟着改变。

祝学习愉快!

  • 邹8122628 提问者 #1

    意思是不是arr1[0]中存储的是一个基本数据类型,就是存储的一个值,不用指向。arr[2]是引用数据类型,需要指向。是这个意思吗

    2021-12-24 11:20:47
  • 好帮手慕星星 回复 提问者 邹8122628 #2

    可以这样理解。但是即使arr1中每项都是基本类型,arr1与arr2也不指向同一个地址。

    2021-12-24 11:47:50
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师