C++二维数组改为一维数组的方法

2024-12-17 23:47:31
推荐回答(1个)
回答1:

二维数组在内存里其实也是一位数组。
只是访问的时候找到对应的位置即可。
middle[j*m+i] 相当于二位数组的m[j][i].
二维数组也是一片连续内存。
对于二维数组m[j][i]是第j行第i个元素,
在内存里前面有j行共j*m个元素(每行m个,即m列),
在这一行是第i个元素,所以m[j][j]是第j*m+i个元素。