多维数组的深入理解

1.什么是多维数组

        要理解多维数组,不妨先理解其中的二维数组,那什么是二维数组呢?

        如图,这是一维数组arr[10]:

数组12345678910
下标0123456789

        如图,这是二维数组arr[2][10]:

数组12345678910
1arr[0][0]arr[0][1]arr[0][2]arr[0][3]arr[0][4]arr[0][5]arr[0][6]arr[0][7]arr[0][8]arr[0][9]
2arr[1][0]arr[1][1]arr[1][2]arr[1][3]arr[1][4]arr[1][5]arr[1][6]arr[1][7]arr[1][8]arr[1][9]

        可以说,一维数组就是只有行的数组,二维数组就是既有行又有列的数组。

        相关概念可以查看数组的概念与使用-优快云博客

        那么,三维数组是什么呢?

        这就要深入理解二维数组的本质了。


2.二维数组的本质

        我们都知道,在数组传参时,传输的实际上是数组首元素的地址(指针)。

        同理,二维数组在传参时。实际上传输的也是其首元素的地址,那么,二维数组的首元素是什么呢?

        ——是它的第一行。

        因此,不妨将二维数组的每一行都看作一个一维数组,这样二维数组arr[2][10]就可以理解为元素数量为二,每个元素均为一维数组的一维数组。只不过其元素的数据类型是 int(*) [10] 。

        int arr[2][10] = {  2,1,2,1,4,5,6,7,8,9,  2,3,4,5,3,5,6,3,3,2  };

arr[2][10]arr[0]arr[1]
元素arr1[10]arr2[10]
arr1[10]

0

123456789
元素2121456789
arr2[10]0123456789
元素2345356332

3.多维数组的本质

        通过二维数组,我们了解到多维数组就是将数组套娃,一个套一个。

        因此,三维数组的元素就是二维数组,四维数组的元素就是三维数组,以此类推。

        但是,有小伙伴会想:数组的地址(指针)又是什么呢?

         

        因此,下一篇文章我将讲解数组指针,敬请期待。

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值