C语言数组作为函数参数(附带实例)
在 C 语言程序中,当把数组作为函数参数进行传递时,实际上传递的是数组的指针。
在 C语言中,数组名代表数组第一个元素的地址。因此,当我们使用数组名作为函数参数时,实际上是将数组第一个元素的地址(也就是指针)传递给函数。
下面是一个计算整数数组总和的示例,演示了如何将数组作为函数参数传递:
在 main() 函数中,我们创建了一个整数数组 arr,并使用 sizeof 运算符计算数组的长度。然后,我们调用 sumOfArray() 函数并将 arr 和 length 作为参数进行传递。注意,我们只需要提供数组名(也就是指向数组第一个元素的指针)作为参数。
sumOfArray() 函数内部使用一个循环遍历数组,并累加每个元素的值。在循环中,我们可以直接使用指针 arr 访问数组的元素,就像操作普通数组一样,函数最终返回数组的总和。
在 C语言中,数组名代表数组第一个元素的地址。因此,当我们使用数组名作为函数参数时,实际上是将数组第一个元素的地址(也就是指针)传递给函数。
下面是一个计算整数数组总和的示例,演示了如何将数组作为函数参数传递:
#include <stdio.h> int sumOfArray(int* arr, int length) { int sum = 0; for (int i = 0; i < length; i++) { sum += arr[i]; // 使用指针访问数组元素 } return sum; } int main() { int arr[] = { 1, 2, 3, 4, 5 }; int length = sizeof(arr) / sizeof(arr[0]); // 计算数组长度 int sum = sumOfArray(arr, length); // 调用函数,传递数组名和长度 printf("数组总和为:%d\n", sum); return 0; }运行结果为:
数组总和为:15
在这个示例中,我们定义了一个名为 sumOfArray 的函数,用于计算整数数组的总和。这个函数接收两个参数:指向整数数组的指针 int *arr 和数组的长度 int length。在 main() 函数中,我们创建了一个整数数组 arr,并使用 sizeof 运算符计算数组的长度。然后,我们调用 sumOfArray() 函数并将 arr 和 length 作为参数进行传递。注意,我们只需要提供数组名(也就是指向数组第一个元素的指针)作为参数。
sumOfArray() 函数内部使用一个循环遍历数组,并累加每个元素的值。在循环中,我们可以直接使用指针 arr 访问数组的元素,就像操作普通数组一样,函数最终返回数组的总和。