📜  如何在函数中更改数组 - C 编程语言(1)

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

如何在函数中更改数组 - C 编程语言

在 C 编程语言中,我们可以通过传递指向数组的指针来在函数中更改数组。这个指针可以指向数组的第一个元素,然后通过指针访问其余元素。

在函数中更改数组

以下是一个简单的示例程序,演示了如何在函数中更改数组的值。

#include <stdio.h>

void increment(int *arr, int len) {
  for (int i = 0; i < len; i++) {
    arr[i]++;
  }
}

int main() {
  int arr[] = {1, 2, 3, 4, 5};
  int len = sizeof(arr) / sizeof(arr[0]);

  increment(arr, len);

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

  return 0;
}

在这个示例程序中,我们定义了一个称为 increment 的函数,该函数接受一个指针和一个整数参数。该指针指向一个整数数组,并将数组中的每个元素增加 1。

main 函数中,我们定义一个名为 arr 的整数数组,并确定它的长度。然后,我们调用 increment 函数并将 arr 数组和其长度作为参数传递。最后,我们在 main 函数中遍历 arr 数组并打印每个元素的值。

输出应该是:

2 3 4 5 6
传递数组到函数

在 C 中,我们可以将数组传递给函数,而不需要复制整个数组。这是通过传递指向数组的指针来实现的。例如,以下代码演示了如何将数组作为参数传递给函数。

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

int main() {
  int arr[] = {1, 2, 3, 4, 5};
  int len = sizeof(arr) / sizeof(arr[0]);

  print_array(arr, len);

  return 0;
}

在这个示例程序中,我们定义了一个称为 print_array 的函数,该函数接受一个指针和一个整数参数。该指针指向一个整数数组,并打印数组中的每个元素。

main 函数中,我们定义一个名为 arr 的整数数组,并确定它的长度。然后,我们调用 print_array 函数并将 arr 数组和其长度作为参数传递。最后,我们在 main 函数中打印数组中的每个元素的值。

输出应该是:

1 2 3 4 5
总结

在 C 编程语言中,我们可以通过传递指向数组的指针来在函数中更改数组。我们还可以将数组作为参数传递给函数,而不需要复制整个数组。这使得处理大型数组更加高效,并减少了内存使用。