📜  C语言中的数组(1)

📅  最后修改于: 2023-12-03 15:30:16.307000             🧑  作者: Mango

C语言中的数组

什么是数组?

数组是C语言中非常重要的数据结构之一,可以存储相同类型的一组数据,这些数据按照一定的顺序排列。数组可以是一维、二维、多维等,每个数组由一个名字和一个数据集合组成。

C语言中,数组可以看成是很多个相同类型的变量的集合,这些变量可以通过数组下标来访问,数组下标从0开始。

举个例子:int a[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};就声明了一个名为a、长度为10、类型为int的数组,它的元素为1、2、3、4、5、6、7、8、9和10。

如何使用数组?
声明和初始化数组

数组的声明语法如下:

type arrayName [arraySize];

其中,type是数组中元素的数据类型,arrayName是数组的名称,arraySize是数组的大小,即数组中元素的个数。

例如,以下代码声明了一个包含5个int类型元素的数组:

int myArr[5];

数组的初始值可以在声明时进行指定,如:

int myArr[5] = {1, 2, 3, 4, 5};

也可以只初始化部分元素,其余元素会自动初始化为0,如:

int myArr[5] = {1, 2};
访问数组元素

要访问数组中的元素,可以使用下标运算符[],如:

int a[3] = {1, 2, 3};
printf("%d", a[0]); // 输出: 1
printf("%d", a[1]); // 输出: 2
printf("%d", a[2]); // 输出: 3

上面的代码通过下标分别访问了数组中的第1、第2和第3个元素。

需要注意的是,数组下标是从0开始的,最后一个元素可以用下面的方式访问:

printf("%d", a[2]); // 输出: 3
printf("%d", a[3]); // 编译错误,数组下标越界
数组作为函数参数

在C语言中,数组可以作为函数的参数传递。当数组作为函数参数时,函数可以接受数组作为它的参数,也可以返回一个数组。

例如,下面的代码定义了一个函数,该函数接受一个名为arr的整型数组和一个整型参数size。函数使用一个for循环遍历数组中的所有元素,并使用printf输出每个元素。

void printArray(int arr[], int size) {
    for (int i = 0; i < size; i++) {
        printf("%d ", arr[i]);
    }
}

接下来,我们可以调用上面定义的函数printArray,将先前定义的数组作为参数传递给它:

int a[3] = {1, 2, 3};
printArray(a, 3); // 输出: 1 2 3
总结

数组是C语言中的重要数据结构之一。它可以存储相同类型的一组数据,通过下标访问。在使用数组时,我们需要注意数组下标是从0开始的。数组可以作为函数的参数传递,非常方便。