在 C 语言中使用函数调用数组38


在 C 语言中,数组是一种强大的数据结构,它允许以连续内存块的形式存储同类型元素的集合。为了操作数组中的元素,可以将数组作为函数的参数传递。

当将数组作为函数参数传递时,实际上传递的是数组的起始地址。因此,函数可以访问并修改数组中的元素,就像它是一个局部变量一样。

以下是一些使用函数调用数组的示例:

1. 传递数组并打印其元素
#include
void printArray(int *arr, int size) {
for (int i = 0; i < size; i++) {
printf("%d ", arr[i]);
}
printf("");
}
int main() {
int myArray[] = {1, 2, 3, 4, 5};
int size = sizeof(myArray) / sizeof(int);
printArray(myArray, size);
return 0;
}

在这个示例中,printArray 函数接受一个指向整型数组的指针和数组的大小作为参数。该函数遍历数组中的元素并打印它们的值。

2. 传递数组并对其元素求和
#include
int sumArray(int *arr, int size) {
int sum = 0;
for (int i = 0; i < size; i++) {
sum += arr[i];
}
return sum;
}
int main() {
int myArray[] = {1, 2, 3, 4, 5};
int size = sizeof(myArray) / sizeof(int);
int sum = sumArray(myArray, size);
printf("The sum of the array elements is: %d", sum);
return 0;
}

在这个示例中,sumArray 函数接受一个指向整型数组的指针和数组的大小作为参数。该函数遍历数组中的元素并计算它们的总和。

3. 传递数组并对其进行排序
#include
#include
void sortArray(int *arr, int size) {
qsort(arr, size, sizeof(int), compareFunction);
}
int compareFunction(const void *a, const void *b) {
return *(int *)a - *(int *)b;
}
int main() {
int myArray[] = {5, 2, 1, 4, 3};
int size = sizeof(myArray) / sizeof(int);
sortArray(myArray, size);
printf("The sorted array is: ");
for (int i = 0; i < size; i++) {
printf("%d ", myArray[i]);
}
printf("");
return 0;
}

在这个示例中,sortArray 函数接受一个指向整型数组的指针和数组的大小作为参数。该函数使用 qsort 函数对数组进行排序。

在 C 语言中,函数调用数组是一种强大的技术,它可以用于操作和处理数组中的元素。通过将数组作为参数传递给函数,可以创建可重用且灵活的代码,从而提高程序的效率和可维护性。

2024-10-14


上一篇:C 语言中的绝对值函数 | 入门到精通

下一篇:C 语言的输出函数