数组的详细介绍

数组是一组相同类型元素的集合,也就是说:数组至少包含两个及以上的元素,且元素类型相同。

数组包括一维数组和多维数组,其中二维数组最常见。下面我们一一介绍。

一维数组

格式:type name [常量值];  

        type是类型,它可以是int double float char等类型

        name是数组名字,这个你自己定义,有意义就行

        常量值,也就是数字(在vs里,这里不可以使用变量)

就比如我下面定义应该身高的整型数组:

int hight[10];

有些时候,我们创建数组需要给他初始化,数组的初始化一般使用大括号,将数据放入打括号内,每一个数据之间用逗号隔开。下面我们给出代码,请你一定要仔细观察:

int hight[3]={178,152,185};   

int price[3]={50};

int score[3]={5,6,8,9};

这里我们初始化了三个数组,其中第一个是完全初始化;第二个不完全初始化,这种初始化,第一个元素的值为50,而数组内后面的元素值都为0;第三个初始化错误,初始化的项数多余数组内元素个数。

数据存在数组中了,那我们怎么查找数据呢?这时就需要数组下标了。

数组下标:

数组的下标和数组元素是一一对应的,数组的下标都是从0开始,数组有n个元素,那么它的下标就是从0到n-1的。

数组的访问需要一个操作符——[],下标引用操作符,这个之前讲过,这里就不重新讲解了,不了解的可以去看这篇博客: 写文章-CSDN创作中心icon-default.png?t=N7T8https://mp.csdn.net/mp_blog/creation/editor/138131954

下面我们给出代码来演示下标是怎么帮助我们查找数组元素的:

 因为数组下标是从0开始,所以我们通过数组下标来查找数组元素时,查找第n个元素,下标就是n-1。

当我们想访问数组中所有的元素时,我们可以使用循环来解决,例如:

访问数组中元素,我们讲完了,接下来说说向数组中放入数据把!

数据的输入:

这个我们同样可以使用循环来完成,例如: 我向数组arr中输入1-10,下面我们来把输进去的值再打印到屏幕上验证一下吧,看看是不是输入和输出的一样 

结果表明,我们这样是可以将数据输入数组中的。

一维数组再内存中的存储:

此时,你觉得数组再内存中存储是连续的还是散乱的呢?我们一起来验证下吧!

我们将上面的代码修改下,不再打出数据,而是将数组中元素的地址打印在屏幕上。 

注意看这张图,这里面的地址都是连续存在的,每个元素都是int类型,所以每个元素都是4个字节,所以相邻元素的地址之间也就相隔4。

由此我们得出结论:数组的元素在内存中是连续存在的 

 二维数组:

前面我们学习了一维数组,当我们把一维数组当作元素存储在数组中,这时候这个数组就是二维数组,⼆维数组作为数组元素的数组被称为三维数组,⼆维数组以上的数组统称为多维数组。这里我们讲下二维数组。

格式:type name[常量值1][常量值2];           这和一维数组类似

int hight[3][2];

就好比hight这个数组,第一个常量值3,代表总共有三行;第二个常量值2;代表有两列。

这里初始化和之前的一维数组类似,只不过,在这里我们要将数组的一行元素全部初始化后,才能继续初始化下一行,例如,我想将hight[3][2]这个数组的每一行都初始化为1,2,3:

int hight[3][2]={1,2,3,1,2,3};

这里常量值1是可以省略的,但是常量值2不可以省略,也就是行数可以不写,但是列数必须写。数组中每一行元素存满之后会自动跳到下一行继续存入数值。

二维数组的输入和输出: 

这个也和一维数组类似,就是需要嵌套循环:

下标查找也都一样,我就不细说了。

一维数组和二维数组的基础方面也就讲完了,后续有不懂的可以留言 私信。 

  • 42
    点赞
  • 34
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值