求教c语言中的一维数组和二维数组及多维数组的区别。

a[12]与a[3][4]有什么区别吗?不都是12个变量吗?

a[12]表示一个有12个元素的数组a[0],a[1],a[2]...a[11]。
a[3][4]表示一个数组有三个大的元素,而每个大的元素又包含四格小的元素如:
a[0][0], a[0][1], a[0][2], a[0][3];
a[1][0], a[1][1], a[1][2], a[1][3];
a[2][0], a[2][1], a[2][2], a[2][3].
一个是顺序排列,一个矩阵排列。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-04-07
二维数组可以看成特殊的一维数组,它们在内存中都是条状存储状态,只是一维数组在表达上不如二维数组方便(非绝对)追问

在什么情况下会用到二维数组呢?

追答

等着你认为一位数组不能很好的或不能表达你的意思时,就用二维数组。等遇到了,就明白了,不难

第2个回答  2012-04-07
二维数组可以看成特殊的一维数组,它们在内存中都是条状存储状态,只是一维数组在表达上不如二维数组方便(非绝对追问

请不要复制好吗?

第3个回答  2012-04-07
其实在内存中的排列是一样的,本质上没什么区别,但是在调用的时候是不一样的,使用起来就不一样了。
第4个回答  2012-04-07
逻辑结构不同啊

你试着用一维数组表示一个矩阵,看看代码是不是比用二维数组写起来复杂得多?
相似回答