5.1.一维数组内存机制及注意点
值传递/值拷贝 和 引用传递/地址拷贝 的区别:
值传递/值拷贝:拷贝的是值,但是开辟的内存是不同的
引用传递/地址拷贝:开辟了一个公共内存空间,而这个公共内存空间的地址被拷贝了,但实际都是指向该内存空间
![图片来源:b站韩顺平老师](https://img-blog.csdnimg.cn/7f2dea65ffe94a02b162f079a4a94ad8.jpg?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5aS05Y-R5aS05Y-R5L2g5Yir6LWw,size_20,color_FFFFFF,t_70,g_se,x_16#pic_center)
两个数组共用同一个内存空间,所以会互相关联
![图片来源:b站韩顺平老师](https://img-blog.csdnimg.cn/3f58e66d87294c3bb110bcdaab61d00f.jpg?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5aS05Y-R5aS05Y-R5L2g5Yir6LWw,size_20,color_FFFFFF,t_70,g_se,x_16#pic_center)
new 出新的数组,两个数组分别占用不同内存,所以不会互相关联
5.2.二维数组内存机制
简而言之,就是二维数组变量名,存放的是一维数组空间地址,该一维数组内部原本存放值的空间改为存放另外一个一维数组空间地址,组合起来就是一个二维数组了。
以此还能推导出三维、四维…
![在这里插入图片描述](https://img-blog.csdnimg.cn/a5d2873375434b62a11654bd9ff6da82.jpg?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5aS05Y-R5aS05Y-R5L2g5Yir6LWw,size_20,color_FFFFFF,t_70,g_se,x_16#pic_center)