a[4][4]c语言二维数组变一维数组转换成b[2][8]c语言二维数组变一维数组c语言

公式错了:应是b[i*最大列数+j]

一句話解释:c语言二维数组变一维数组内元素地址是连续的,在内存中就是一维数组

所以反过来也是一样,公式a[i][j]=b[i*行+j]就是按照c语言二维数组變一维数组的行列值在一维数组中取值。

比如定义c语言二维数组变一维数组a[2][3]在内存中等同于定义一维数组b[2*3];

而取a[1][2]值对应一维数组下标5的え素,相当于取b[1*3+2](a[1][2]按连续地址数就是1行加3个元素)

你对这个回答的评价是

下载百喥知道APP,抢鲜体验

使用百度知道APP立即抢鲜体验。你的手机镜头里或许有别人想知道的答案

我要回帖

更多关于 c语言二维数组变一维数组 的文章

 

随机推荐