有两个定义好的并且动态初始化的数组a和数组b,然后a=b 再遍历数组a为什

有两个定义好的并且动态初始化的数组a和数组b,然后a=b再遍历数组a为什么遍历出来就成了b的数组长度和其中的元素。java中... 有两个定义好的并且动态初始化的数组a和数组b,然后a=b 再遍历数组a为什么遍历出来就成了b的数组长度和其中的元素。
java中
展开
 我来答
戎荏苒3O
2017-09-26 · TA获得超过583个赞
知道小有建树答主
回答量:239
采纳率:60%
帮助的人:80.7万
展开全部

在这里a,b都只是索引

b=a;就是b的实线变虚线的过程

追问
a b是局部变量,由栈内存指向堆内存的地址   a=b就是把b的内存地址赋值给了a。大神能不能用语言给我描述清楚啊,萌新不是很懂
追答
不是局部变量,在java里面都是索引和对象的关系,很少说是指针,不过你可以这么理解。对,你说的没错。
蛮清楚了啊。。。
按照内存理解的话从c的角度理解更好。
假如有int[] a = {1,2,3}; int[] b = {4,5,6};
a本身并没有保存任何跟1,2,3有关的信息,a只是一个指针,保存的是{1,2,3}这个数组的其实位置,所以可以用*a访问到数组的起始位置,即1。b也一样。
当a = b 时,将b的信息赋给了a,此时a保留的{1,2,3}的数组地址信息被覆盖了,变成了b的信息,而b是保存的第二个数组的信息,所以此时再访问*a 时,就变成了4。
匿名用户
2017-09-25
展开全部
有两种方法可以实现。为方便说明,定义两个整型数组a,b,并实现将a中的值赋值到b中。inta[4]={1,2,3,4},b[4];1、通过数组遍历,逐个赋值。定义循环变量inti;for(i=0;i<4;i++)b[i]=a[i];该程序功能为遍历数组a,逐个赋值到
追问
不太懂,想从内存这方面理解这个
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式