复制一个数组

407

我有一个数组 a,它经常被更新。假设 a = [1,2,3,4,5]。我需要创建一个确切的副本并将其命名为 b。如果 a 更改为 [6,7,8,9,10]b 应该仍然是 [1,2,3,4,5]。如何最好地实现这一点?我尝试了使用 for 循环:

for(int i=0; i<5; i++) {
    b[i]=a[i];
}

但是它似乎不能正常工作。请不要使用高级术语,如深复制等,因为我不知道那是什么意思。

11个回答

1
我曾经遇到了与二维数组类似的问题,并最终解决了它。 我复制了主数组并更改了内部数组的值,但惊讶的是,两个副本中的值都发生了变化。基本上,这两个副本是独立的,但包含对相同内部数组的引用,因此我必须创建一个内部数组副本的数组才能得到我想要的结果。
有时称为深层复制。同样的术语“深拷贝”也可能具有完全不同且更加复杂的含义,这可能会令人困惑,尤其是对于那些无法理解为什么他们复制的数组表现不正常的人。这可能不是OP的问题,但我希望它仍然有所帮助。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接