那位大虾能帮我简单介绍一下二维数组的原理呀

来源:百度知道 编辑:UC知道 时间:2024/07/02 16:06:43

二维数组的定义

(1)语法

类型标识符 数组名[常量表达式][ 常量表达式];

(2)说明

常量表达式包含常量和符号常量,不能包含变量。

如果有一个一维数组,它的每一个元素是类型相同的一维数组时,就形成一个二维数组。我们可以把二维数组看作是一种特殊的一维数组:它的元素又是一个一维数组。例如:float a[3][4];可以把a看作是一个一维数组,它有三个元素:a[0]、a[1]、a[2],每个元素又是一个包含4个元素的一维数组。可以把a[0]、a[1]、a[2]看作是一维数组的名字。

C语言中,二维数组中元素的排列顺序是:按行存放,即在内存中先顺序存放第一行的元素,再存放第二行的元素。数组a在内存中的存放顺序为:

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]

通常形象的把第一个下标称为行下标,第二个下标称为列下标。

例如 int var[3][4];

多维数组的定义方法与二维数组相仿:

例如 int var[3][4][5];

看成两个一维数组
比如a[10][20]
存储顺序就是
a[0][0] a[0][1]......a[0][19]
a[1][0]..............a[1][19]
...
a[9][0]..............a[9][19]
所以看成a[10]这个数组,每项再包含一个数组,有20项