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