一起养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第12天,点击查看活动详情。
- 数组是一组有序数据的集合
- 数组中的每一个元素都属于同一个数据类型
定义一维数组的一般形式为:
类型符 数组名[常量表达式]; 常量表达式中可以包括
常量和符号常量,如“int a[3+5]; ”是合法的。不能包含变量,如“int a[n];”是不合法的。也就是说,C语言不允许对数组的大小作动态定义,即数组的大小不依赖于程序运行过程中变量的值。
int a[10]; 定义数组a后,在内存中划出一片存储空间,存放了一个有10个整型元素的数组
怎样引用数组元素
引用数组元素的表示形式为:数组名[下标]
一维数组的初始化
一维数组的初始化: 常在定义数组的同时给各数组元素赋值,这成为数组的初始化。可以用“初始化列表”方法实现数组的初始化。
- 在定义数组时对全部数组元素赋予初值。如:
int a[10] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}; // 花括号内的数据就称为“初始化列表”
- 可以只给数组中的一部分元素赋值
int a[10] = {0, 1, 2, 3, 4};
- 如果想使一个数组中的全部元素值为0,可以写成
int a[10] = {0,0,0,0,0,0,0,0,0,0];
// 或者
int a[10] = {0}; // 未赋值的部分元素自动设定为0
- 在对全部数组元素赋初值时,由于数据的个数已经确定,因此可以不指定数组长度。如:
int a[5] = {1,2,3,4,5};
// 可以改写成
int a[] = {1,2,3,4,5};
示例
- 用数组来处理Fibonacci数列问题。
#include <stdio.h>
int main() {
// 用数组来处理Fibonacci数列问题
int i;
int f[20] = {1, 1}; // 对最前面两个元素f[0], f[1]赋初值1
for (i = 2; i < 20; i++) {
f[i] = f[i-2] + f[i-1]; // 先后求出f[2]~f[19]的值
}
for (i = 0; i < 20; i++) {
if (i % 5 == 0) printf("\n"); // 控制每输出5个数后换行
printf("%12d", f[i]); // 输出一个数
}
printf("\n");
return 0;
}