1. 什么是数组?
数组由一系列类型相同的数据对象依次排列组成。
组成数组的数据对象被称作数组的元素。
图中为int类型组成的数组,用于存放多个int类型数据。
数组的两个重要注意点:
- 依次排列:每个数组元素都是相邻的,从第一个数组元素到最后一个数组元素依次摆放。
- 类型相同:数组的元素都是类型相同的数据对象,不同的数据对象不能组成数组。
2. 如何声明数组
我们可以用如下的代码,声明各种类型的单个变量。
char c;
int n;
long l;
float f;
double df;
既然数组是由一系列类型相同的数据对象依次排列组成。那么声明数组至少要提供三类参数。
- 数组名。
- 数组元素的类型。
- 数组元素的数量。
数组声明的公式:
数组的声明由数组名、元素类型、元素数量组成,例如:
char c[5];
int n[10];
long l[3];
float f[2];
double df[1];
3. 数组内容的初始化
3.1 初始化与赋值的区别
在变量声明的时候,我们讨论过初始化和赋值的区别。
int n = 100; // 初始化为100
n = 100; // 赋值为100
第一行代码为声明int类型的变量n,并初始化为100。第二行代码为n赋值为100。
初始化与赋值的区别在于:
初始化时,等号的左边为变量的声明,等号的右边为值。
赋值时,等号的左边为变量,等号的右边为值。
初始化中的等号并不是赋值运算符,只是写作等号而已。
不能对一个变量多次初始化,会被认为变量被重复定义。
int n =100;
int n = 123; // 错误,会引发变量重定义
对一个变量重复赋值却没有问题。
int n;
n = 123;
n = 456;
对于基础类型,似乎赋值与初始化都是将一个值装入变量,没有特别明显的差异。而对于我们接下来要讨论的数组,却有一些差异。
3.2 数组的初始化
数组初始化如同基础数据类型初始化一样,也是在变量声明时加上等号,在等号右边写需要为数组初始化的值。
例如:
int arr[10] = {1, 2 ,3 ,4 ,5 ,6, 7, 8, 9, 0};
上面的代码能声明一个由10
个int
数据对象组成的数组,并且将它们分别初始化为1,2,3,4,5,6,7,8,9,0。