二维数组及数组名的意义

二维数组

1.声明

int arr[3][4]; arr是一个3行4列的矩阵

注意:二维数组的行可以省略,但列不可以省略。不然无法确定如何存放。

2.初始化

两种形式:

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

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

数组arrcol1col2col3col4
row11234
row23456
row35678

3.二维数组的理解

3.1 二维数组可以看作是一维数组的数组。

3.2 int arr[3][4];

arr是一个内含3个数组元素的数组,

每个数组元素内含4个int类型的元素。

3.3 arr中的3个数组元素为arr[0]arr[1]arr[2]

​ 数组arr[0]中的4个元素为arr[0][0]arr[0][1]arr[0][2]arr[0][3]

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

​ 第一行的元素为:arr[0] [0]、arr[0] [1]、arr[0] [2]、arr[0] [3],

可以把arr[0]看作是二维数组第一行元素组成的数组的数组名,后面方括号内变化的是下标。

​ 所以 arr[0]是二维数组arr的首元素,同时也是二维数组第1行元素组成的一维数组的数组名。

3.5二维数组的数组名表示二维数组首元素的地址,即数组arr[0]的地址,也是二维数组第一行的地址。

3.6 二维数组在内存中是逐行连续存放的。

故可将其看作一个有12个元素的一维数组。int arr[12]int arr[3][4]在内存中的布局方式一样,只是访问的形式不同。

在这里插入图片描述

4.数组名的意义

声明一个数组时,编译器将根据生命所指定的元素数量为数组保留内存空间。然后再创建数组名,它的值是一个常量,指向这段空间的起始地址。

一般情况下,数组名表示首元素地址,是一个指针常量,不可修改。

但有两种情况是例外:

1.sizeof(数组名) 这里的数组名表示整个数组,计算的是整个数组的大小,单位是字节。

2.&(数组名) 这里的数组名表示整个数组,取出的是整个数组的地址,产生的是一个指向数组的指针。

  • 2
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值