CPP学习之——什么是数组(14.1-3)

一 概念

关于数组的概念,举个例子,比如某校初三一班有二十名女生,那么我就可以简单说着二十名学生组成了一个数组,为什么这样讲呢?因为这二十名女生她们是一个类型的——都是女性,而且她们所属的班级有一个共同的名字——初三一班。

二 数组

  • 我们看完上面的例子,是不是就可以大致地整理出数组的含义了?
  • 没错,正如你所说的,数组是一组具有相同名称和类型的变量的集合。这些变量就好比初三一班的女生。为了区分这些女生,我们为她们编了号码,我们编的号码在C++里有另一个称呼,叫做下标,我们通过下标来区分这些女生,这些女生的个数又叫做数组的长度
  • 根据这三点:数组的类型,数组名和下标,我们就可以声明一个数组,这里的下标是指数组中变量的数目,换句话说就是女生的个数,这个数组要用括号括起来。例如 int a[20]
  • int表示声明的数据类型为整型,与例子中二十名女生都是一个类型的——"女性"是一个道理,a是数组名,相当于初三一班,括号中的20表示数组所包含的变量为20个
  • 我们看到20这个数字后马上可以了解到这个数组包含20个变量,但是编译器看到这个数字后,不光要了解这个数组有20个变量,还要为这20个便令安排足够的空间开存放。也就是说我们的20名女生每人都要在初三一班有一个座位,而这些具体细节一般都由她们的班主任来安排,孩子的家长大不必操心

三 数组下标

3.1 概念

  • 数组中的变量又叫数组元素,数组元素从0开始,比如说在int a[20]这个例子中,a[0]是第一个数组元素,换句话说它是编号为0的女生,相应的,a[1]是第二个女生,a[2]是第三个,依次类推,知道a[19]也就是第20个女生为止
  • 一般来说,a[n]有n个元素,范围从a[0]到a[n-1]之间,并且包括a[0]和a[n-1]这两个元素

3.2 代码

1
2
3
4
5
6
7
8
9
10
11
12
#include<iostream>
using namespace std;
int main()
{
int a[5];
for(int i=0;i<5;i++)
{
a[i]=i;
cout<<a[i]<<"\t";
}
return 0;
}

3.3 输出结果

1
0	1	2	3	4

四 数组下标越界

4.1 概念

  • 数组元素从0开始算起,而不是自1开始。这是许多新手最容易犯的毛病之一,我们需要记住的是,假如你定义了一个数组a[9],那么它的成员就是从a[0]到a[8]为止,绝对没有a[9]

4.2 代码

1
2
3
4
5
6
7
8
9
10
11
12
#include<iostream>
using namespace std;
int main()
{
int a[5];
for(int i=0;i<=10;i++)
{
a[i]=i;
cout<<a[i]<<"\t";
}
return 0;
}

4.3 说明

  • 数组会自动增加,超过2被数组长度后发生异常