C语言-数组2

二维数组的创建

1.二维数组的概念

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

2.二维数组的创建

二维数组的定义如下:

上述代码出现的信息,3表示数组有三行,5表示数组有5列,int表示数组的每个元素是整型类型,arr是数组名,可以根据自己的意思指定数组名,data数组意思与其基本一致。

二维数组的初始化

在创建变量或数组的时候,给定一些初始值,称为初始化。

二维数组也像一维数组一样,使用大括号进行初始化。

1.不完全初始化

2.完全初始化

3.按照行初始化

4.初始化时省略行,但是不能省略列

二维数组的使用

1.二维数组的下标

二维数组的访问也是使用下标形式的,二维数组是有行有列的,只要锁定了行和列就能锁定数组中的一个元素。

其中,C语言规定二维数组的行是从0开始的,列也是从0开始的,如下图所示:

其中左边的绿色数字表示行,上方的蓝色数字表示列,都是从0开始的。

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

访问二维数组的整个数组,只要按照一定的规律产生所有的行和列的数字就行,以上一段代码中的arr为例, 行的选择范围是0-2,列的选择范围是0-4,所以我们可以借用循环实现所生成的下标:

二维数组在内存中的存储

像一维数组一样,我们如果想研究二维数组在内存中的存储方式,也是可以打印出所有的元素地址,代码如下:

二维数组中,每一个元素之间都是相邻的,地址之间相差4个字节,跨行位置所处的两个元素,之间也是4个字节,所以二维数组中的每个元素都是连续存放的。

C99中的变长数组

在C99标准之前,C语言在创建数组的时候,数组的大小只能指定常量,常量表达式或者如果我们初始化数据的话,我们可以省略数组大小。

代码如下:理解即可。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值