C 语言数组2025年7月3日 | 阅读 11 分钟 在 C 语言中,数组被定义为在连续内存位置存储的同类型数据项的集合。数组是 C 语言中的派生数据类型,它可以存储原始类型的数据,如 int、char、double、float 等。它还能够存储派生数据类型的集合,如 指针、结构体 等。数组是最简单的数据结构,其中每个数据元素都可以通过其索引号进行随机访问。 ![]() 在 C 语言 中,如果我们要存储相似的元素,数组会很有用。例如,如果我们想存储一个学生在 6 门科目中的分数,我们不需要为不同科目的分数定义不同的变量。相反,我们可以定义一个数组,它可以在连续的内存位置存储每门科目的分数。 通过使用数组,我们可以轻松访问元素。只需要几行代码就可以访问数组的元素。 数组的属性数组包含以下属性
C 数组声明我们可以用以下方式在 C 语言中声明一个数组。 现在,让我们看一个声明数组的例子。 这里,int 是数据类型,marks 是数组名,5 是数组大小。 C 数组初始化初始化数组最简单的方法是使用每个元素的索引。我们可以使用索引来初始化数组的每个元素。请看下面的例子。 C 数组示例让我们举一个例子来说明 C 语言中的数组。 示例编译并运行输出 80 60 70 85 75 说明 在此示例中,我们声明了一个大小为 5 的整数数组 marks。每个元素都单独初始化为 80、60、70 等值。使用 for 循环从索引位置 0 到 4 遍历数组,并使用 printf 打印出值。 C 数组声明及初始化示例让我们举一个例子来说明如何在 C 语言中声明和初始化数组。 示例编译并运行输出 20 30 40 50 60 说明 在此示例中,我们定义并初始化了一个包含五个整数元素 mark 的数组,值为 20、30、40、50 和 60。之后,我们使用 for 循环从索引 0 到 4 遍历数组,并使用 printf 打印出每个元素。 访问数组元素在 C 语言中,数组支持对其元素的随机访问,即我们可以通过给出元素的“位置”(称为索引)来访问数组中的任何元素。索引值从 0 开始,一直到 array_size-1。我们将索引放在方括号 [] 中,后面跟着数组的名称。 ![]() 语法 它具有以下语法: 其中,索引值在此范围内 - (0 ≤ index ≤ size-1)。 C 访问数组元素的示例让我们举一个例子来说明如何在 C 语言中访问数组元素。 示例编译并运行输出 Accessing array elements: Element at index 0: 10 Element at index 1: 20 Element at index 2: 30 Element at index 3: 40 说明 在此示例中,我们包含了标准输入输出库和 main 函数的定义。它有一个大小为 4 的整数数组 numbers,初始值为 10、20、30 和 40。之后,它通过索引从 0 到 3 来打印每个元素。程序通过返回 0 来终止,这表示程序成功执行。 更新数组元素在 C 语言中,我们可以通过使用数组方括号 [] 和赋值运算符 (=) 来改变索引 i 处的数组元素的值,这与访问元素的方式相同。 语法 它具有以下语法: C 更新数组元素的示例让我们举一个例子来说明如何在 C 语言中更新数组元素。 示例编译并运行输出 Original value at index 2: 15 Updated value at index 2: 99 说明 在此示例中,我们声明了一个大小为 5 的整数数组 numbers。接下来,它打印索引 2 处的初始值,即 15。之后,它通过赋值 (numbers[2] = 99;) 将索引 2 的值修改为 99,并打印修改后的值。 数组遍历在 C 语言中,数组遍历是允许我们在特定序列中遍历数组每个元素的操作。在 C 语言数组遍历中,我们使用循环来访问数组的每个元素。 C 数组遍历示例让我们举一个例子来说明 C 语言中的数组遍历。 示例编译并运行输出 Traversing the array: Element at index 0: 2 Element at index 1: 4 Element at index 2: 6 Element at index 3: 8 Element at index 4: 10 说明 在此示例中,我们初始化了一个大小为 5 的整数数组 numbers,包含元素 2、4、6、8 和 10。它使用一个从索引 0 到 4 的 for 循环来遍历数组。在循环中,使用 printf 输出索引和对应的数组元素。程序通过返回 0 来终止。 数组大小数组的大小是存储在数组中的元素数量。我们可以使用 sizeof() 运算符来获取大小。
C 数组大小示例让我们举一个例子来说明 C 语言中的数组大小。 示例编译并运行输出 Size of the array: 5 说明 在此示例中,我们声明了一个大小为 5 的整数数组 numbers。之后,通过将数组的总内存大小 (sizeof(numbers)) 除以单个元素的内存大小 (sizeof(numbers[0])) 来计算元素数量。该值赋给变量 size 并打印。 C 中的二维数组二维数组,或 C 中的 2D 数组,是一个恰好有两个维度的数组。它可以被认为是排列在二维平面上的行和列。 语法 它具有以下语法: C 中的二维示例让我们举一个例子来说明 C 语言中的二维数组。 示例编译并运行输出 2D Array: 1 2 3 4 5 6 说明 在此示例中,我们声明了一个大小为 2 行 3 列的二维整数数组 matrix。整数变量 value 被设置为 1。在嵌套的 for 循环中,数组的每个元素都按递增顺序分配了从 1 到 6 的数字。之后,外层循环处理行,内层循环处理列。初始化完成后,使用另一对嵌套循环以列-行顺序打印数组。 C 中的三维数组在 C 语言中,另一种常见的多维数组类型是三维数组或 3D 数组。3D 数组恰好有三个维度。它被想象成一组 2D 数组堆叠在一起形成第三个维度。 三维数组示例让我们举一个例子来说明 C 语言中的三维数组。 示例编译并运行输出 3D Array Elements: Block 0: 1 2 3 4 5 6 Block 1: 7 8 9 10 11 12 说明 在此示例中,我们声明了一个 3D 数组 arr[2][2][3],即它有 2 个块,每个块包含 2 行 3 列。将变量 value 设置为 1,并使用三个嵌套的 for 循环来初始化数组的每个元素。外层循环遍历块,中间循环遍历行,最内层循环遍历列。 数组与指针在 C 语言中,数组和指针直接相互关联,以至于我们可以使用指针来执行数组可以执行的所有操作。数组名是指向数组第一个元素的常量指针,数组被简化为指针并传递给函数。 C 中的数组和指针示例让我们举一个例子来说明 C 语言中的数组和指针。 示例编译并运行输出 Accessing array elements using pointer: Element 0: 10 Element 1: 20 Element 2: 30 Element 3: 40 Element 4: 50 说明 在此示例中,我们声明了一个大小为 5 的整数数组 numbers。之后,指针 ptr 被赋予数组的基地址,即它指向第一个元素。for 循环从索引 0 迭代到 4,在每次迭代中,通过指针算术访问该索引处的元素:*(ptr + i) 加载数组中第 i 个位置的值。printf 语句打印索引及其对应的值。 将数组传递给函数在 C 语言中,数组通过指针传递给函数,因为数组名会退化为指向第一个元素的指针。在 C 语言中,有三种常见的方式可以将数组传递给函数:
C 中的数组传递给函数示例让我们举一个例子来说明如何在 C 语言中将数组传递给函数。 示例编译并运行输出 Inside sized_array: 1 2 3 4 Inside unsized_array: 1 2 3 4 Inside pointer: 1 2 3 4 说明 在此示例中,我们声明了三个函数,每个函数以三种不同的方式接受数组作为参数:有大小的数组、无大小的数组和指针。在每个函数内部,从 0 到 3 的循环迭代并打印数组元素。在 main 函数内部,声明了一个名为 arr 的数组,它有 4 个元素 {1, 2, 3, 4}。所有三个函数都调用了该数组。 C 数组示例:数组排序在下面的程序中,我们使用冒泡排序法以降序对数组进行排序。 示例编译并运行输出 Printing Sorted Element List ... 101 78 44 34 23 23 12 10 9 7 C 数组的优点C 数组的几个优点如下:
C 数组 MCQ1) C 语言中数组的主要好处是什么?
答案: b) 它们简化了管理多个相似元素的代码 2) C 数组的第一个元素的默认索引是多少?
答案: c) 0 3) 使用哪个运算符来查找 C 数组的大小?
答案: a) sizeof 4) 以下关于 C 语言数组的陈述哪一项是错误的?
答案: c) 数组可以根据需要动态增长 5) 以下哪种方法可用于将数组传递给 C 语言函数?
答案: d) 以上所有 下一主题C 中的二维数组 |
我们请求您订阅我们的新闻通讯以获取最新更新。