C语言中一维数组与二维数组的比较:
从效率上讲:
- 一维数组访问一个数据时,只需要查找与数组元素对应的地址,通过地址匹配到目标元素。
- 二维数组则需要先找到目标元素数组的地址,匹配到目标元素数组,然后再对此元素数组重复此操作,从而找到目标元素。
- 修改数组元素也是同理。
- 所以,在存储数据相同的基础上,很显然一维数组的效率是高于二维数组的。
从程序设计与可操作性的角度考虑,二维数组及多维数组就体现出它们存在的必要性。
- 作为程序设计者,很难将一个二维的信息描述成一个一维向量表示,这样在数据的控制和操作上都是非常困难的。
- 所以,我们更加需要利于理解和操作的数据结构来支持程序逻辑的实现,这样的优势是远远大于二维数组在效率上的折损。