美文网首页
二维数组的复制

二维数组的复制

作者: 听风1413 | 来源:发表于2018-06-06 21:36 被阅读0次

最近在做公司的项目时,有这样一个需求,复制一个二维数组,然后改变新的二维数组中的部分值,当时没怎么想,直接采用如下方法:

int [] [] a1 =new int [15] [15];

int [] [] a2 =a1;

for(int i=0;i<15;i++){

for(int j=0;j<15;j++){

a2[i][j]=a1[i][14-j];}}

后来运行程序时,发现不正常了,找了半天才找到原因,原来是将a2中的值改变后,a1中对应的值也发生了变化,然后百度了一下,是这样解释的:数组是一个对象,a1和a2访问的是内存中的同一段数据,a1中的值发生改变,a2 中对应的值也会发生改变,正确的做法是:

int [] [] a2 =new int [15] [15]; 每次new 都会在内存中开辟一个新的空间、因此两个数组访问的是不同的地址,改了后,程序可以正常的运行了。(基础真的很重要,看来要补补java知识了)。

相关文章

  • 实现 JavaScript 中数组的复制

    实现 JavaScript 中的数组复制 之前在写扫雷的时候,因为需要用到二维数组,当时就在复制数组这里出现了问题...

  • DAY. 05 冒泡排序,选择排序,杨辉三角

    学了一维数组的3种定义格式,数组的内存,遍历数组,数组的排序冒泡排序和选择排序,数组元素的查找,复制。 以及二维数...

  • 二维数组的复制

    最近在做公司的项目时,有这样一个需求,复制一个二维数组,然后改变新的二维数组中的部分值,当时没怎么想,直接采用如下...

  • 数组处理代码

    找出数组最大的元素 计算数组的平均值 复制数组 颠倒元素的顺序 二维矩阵乘法:c[i][j]=a[i][k]*b[...

  • Day08

    二维数组 二维数组格式 二维数组初始化 二维数组的遍历 二维数组内存存储细节 二维数组与函数注意点: 主要是看函数...

  • C++ 指针2

    字符指针作为函数参数, 求字符串的长度 比较两个字符串的大小 字符串复制 二维数组与指针 输入全体二维数组, 求元...

  • PHP 工具之数组

    二维数组值 二维数组翻转 二维数组转置

  • 笔记:二维数组,字符串,指针

    #mark- 01-二维数组基本概念 //问题:什么是二维数组?二维数组的格式?二维数组如何存储?二维数组是如何遍...

  • Java 二维数组格式、二维数组内存图解、二维数组操作

    二维数组格式1 格式1内存图解 二维数组格式2 二维数组格式2 内存图解 二维数组格式3 二维数组格式3 内存...

  • Java 二维数组格式、二维数组内存图解、二维数组操作

    二维数组格式1 格式1内存图解 二维数组格式2 二维数组格式2 内存图解 二维数组格式3 二维数组格式3 内存...

网友评论

      本文标题:二维数组的复制

      本文链接:https://www.haomeiwen.com/subject/ynpisftx.html