C语言中的数组是一组或多个元素(数据)。C语言数组的所有元素是均匀的(相似)或是相同类型。它具有连续的内存位置。
如果必须存储类似的元素,在C语言中使用数组是非常用好处的。假设你必须存储50
名学生的记录,一种方法是分配50
个变量,这么变量这是难以管理的。 例如,我们不能仅使用几行代码来表示或访问这些变量的值。
另一种方法是使用数组。通过使用数组,我们可以轻松访问这些元素。只需要几行代码来访问数组的元素。
数组的优点
- 代码优化:访问数据可使用较少的代码。
- 易于遍历数据:通过使用for循环,可以轻松地检索数组的元素。
- 易于排序数据:要排序数组的元素,只需要几行代码。
- 随机访问:可以使用数组随机访问任何元素。
数组的缺点
- 固定大小:无论什么大小,在声明数组时都要先规定大小,而且元素个数不能超过事先定义的大小。数组它不能动态地增长大小,我们稍后会学习。
数组声明
我们可以用以下方式在C语言中声明一个数组。
data_type array_name[array_size];
现在,下面来看看一下声明数组的例子。
int marks[5];
这里,int
是data_type
也就是数组存储数据的类型,marks
是array_name
,用来表示数组的名称,5
是array_size
表示最多只能存储5
元素,即:5
个int
类型的数据。
数组初始化
通过索引初始化数组的一种简单方法。请注意,数组索引从0
开始,以[SIZE - 1]
结尾。
int marks[5];
marks[0]=80;// 初始化数组的每个元素的值
marks[1]=60;
marks[2]=70;
marks[3]=85;
marks[4]=75;
每个元素初始化后,如下图所示-
数组示例
为了演示如何使用数组,我们创建一个名称为:array-example.c的源文件,其代码如下所示 -
#include <stdio.h>
void main() {
int i = 0;
int marks[5];//declaration of array
marks[0] = 80;//initialization of array
marks[1] = 60;
marks[2] = 70;
marks[3] = 85;
marks[4] = 75;
// 遍历数组
for (i = 0;i<5;i++) {
printf("%d \n", marks[i]);
}//end of for loop
}
执行上面代码,得到以下结果 -
80
60
70
85
75
数组声明和初始化
我们可以在声明时初始化数组,来看看下面的代码 -
int marks[5]={20,30,40,50,60};
在这种情况下,不需要定义大小。所以也可以写成如下代码 -
int marks[]={20,30,40,50,60};
让我们来看看完整的程序,在C中声明和初始化数组。创建一个名称为:array-declare-and-initialize.c的源文件,其代码如下所示 -
#include <stdio.h>
void main() {
int i = 0;
int marks[5] = { 20,30,40,50,60 };//declaration and initialization of array
//traversal of array
for (i = 0;i<5;i++) {
printf("%d \n", marks[i]);
}
}
执行上面代码,得到以下结果 -
20
30
40
50
60