C语言入门指南:数组(二)

二维数组

一、二维数组的创建

1.二维数组的概念

前⾯学习的数组被称为⼀维数组,数组的元素都是内置类型的,如果我们把⼀维数组做为数组的元
素,这时候就是⼆维数组,⼆维数组作为数组元素的数组被称为三维数组,⼆维数组以上的数组统称为多维数组。
 
 
 
 

2.二维数组的创建

那么,我们如何定义二维数组呢?基础语法如下:
 
 
 
 
解释:上述代码中出现的信息
 
•   3表⽰数组有3⾏
•   5表⽰每⼀⾏有5个元素
•   int 表⽰数组的每个元素是整型类型
•   arr 是数组名,可以根据自己的需要指定名字
 
 

二、二维数组的初始化

在创建变量或者数组的时候,给定⼀些初始值,被称为初始化。
那⼆维数组如何初始化呢?像⼀维数组⼀样,也是使⽤⼤括号初始化的。
 
 
 

1.不完全初始化

 
 
 
 
 
 
 

2.完全初始化

 
 
 
 
 
 
 

3.按行初始化

 
 
 
 
 
 
 
 

4.初始化可以省略行,但是不可以省略列

 
 
 
 
 
 
 
 
                                                                       arr6数组
 
 
 
 
 
 
 

三、二维数组的使用

 

1.二维数组的下标

 
当我们掌握了⼆维数组的创建和初始化,那我们怎么使⽤⼆维数组呢?其实⼆维数组访问也是使⽤下标的形式的,⼆维数组是有⾏和列的,只要锁定了⾏和列就能唯⼀锁定数组中的⼀个元素。
C语⾔规定,⼆维数组的⾏是从0开始的,列也是从0开始的,如下所⽰:
 
 
 
 
 
 
 
其中,黄色方框内的数字代表行数,红色方框内代表列数,都是从0开始的。
⽐如,我们说:第2⾏,第4列,快速就能定位出7。
 
 
 
 

2.二维数组的输入与输出

 
访问⼆维数组的单个元素我们知道了,那如何访问整个⼆维数组呢?
其实我们只要能够按照⼀定的规律产⽣所有的⾏和列的数字就⾏;以上⼀段代码中的arr数组为例,⾏的选择范围是0~2,列的取值范围是0~4,所以我们可以借助循环实现⽣成所有的下标。
 
 
 
 
 
输入和输出结果:
 
 
 

四、二维数组在内存中的储存

像⼀维数组⼀样,我们如果想研究⼆维数组在内存中的存储⽅式,我们也是可以打印出数组所有元素 的地址的。代码如下:
 
 
 
 
 
输出结果:
 
 
 
从输出的结果来看,每⼀⾏内部的每个元素都是相邻的,地址之间相差4个字节,跨⾏位置处的两个元素(如:arr[0][4]和arr[1][0])之间也是差4个字节,所以⼆维数组中的每个元素都是连续存放的。
 
如下图所示:
 

 
 
 
 
了解清楚⼆维数组在内存中的布局,有利于我们后期使⽤指针来访问数组的学习。
 
 
 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值