C语言学习-第六章 利用数组处理批量数据-怎样定义和引用一维数组

178 阅读2分钟

一起养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第12天,点击查看活动详情

  • 数组是一组有序数据的集合
  • 数组中的每一个元素都属于同一个数据类型

定义一维数组的一般形式为:

类型符 数组名[常量表达式]; 常量表达式中可以包括常量和符号常量,如“int a[3+5]; ”是合法的。不能包含变量,如“int a[n];”是不合法的。也就是说,C语言不允许对数组的大小作动态定义,即数组的大小不依赖于程序运行过程中变量的值。

int a[10]; 定义数组a后,在内存中划出一片存储空间,存放了一个有10个整型元素的数组

image.png

怎样引用数组元素

引用数组元素的表示形式为数组名[下标]

一维数组的初始化

一维数组的初始化: 常在定义数组的同时给各数组元素赋值,这成为数组的初始化。可以用“初始化列表”方法实现数组的初始化。

  • 在定义数组时对全部数组元素赋予初值。如:
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;
}