一 概念
关于数组的概念,举个例子,比如某校初三一班有二十名女生,那么我就可以简单说着二十名学生组成了一个数组,为什么这样讲呢?因为这二十名女生她们是一个类型的——都是女性,而且她们所属的班级有一个共同的名字——初三一班。
二 数组
- 我们看完上面的例子,是不是就可以大致地整理出数组的含义了?
- 没错,正如你所说的,数组是一组具有相同名称和类型的变量的集合。这些变量就好比初三一班的女生。为了区分这些女生,我们为她们编了号码,我们编的号码在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 输出结果
四 数组下标越界
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 说明