二维数组是否可以看成特殊的一维数组?

如题所述

可以,二维数组本来就是被看成特殊的一维数组,这个一维数组的长度为原二维数组的行数,原二维数组的每一行是该特殊一维数组的一个元素,但这个特殊一维数组的元素并不是实际存在的元素,它们另有含义,请见下图:

  实际上a[0]和a[1]分别是两个指针,指向a[0][0]和a[1][0],而a是有a[0]和a[1]两个元素的数组名,它指向a[0],也就是说a是一个指向指针的指针,即二级指针。这样就可以利用这个特殊的一维数组进行一次间接访问:*(a[i]+j)。另外a[i][j]是直接访问;*(*(a+i)+j)是二次间接访问。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-05-29
计算机里的内存是一维的,所以一切都应该是一维的。

二维甚至三维数组,
是人为建立的,便于开发人员理解和思考的数据结构罢了,
其本质还是一维的。
第2个回答  2012-05-29
可以。