📜  C++ 将数组传递给函数(1)

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

C++ 将数组传递给函数

在C++中,可以将数组作为参数传递给函数。这种技术可以方便地将数组的处理分离出来,并且能够提高代码的可读性和可维护性。

传递数组的方式

C++可以通过以下两种方式来传递数组:

  1. 传递数组的指针
  2. 传递数组的引用
传递数组的指针

传递数组的指针是将数组的第一个元素的地址传递给函数,然后在函数内部通过指针来操作数组。

下面是一个例子,演示如何在函数中使用指针来操作数组:

#include <iostream>
using namespace std;

void printArray(int *arr, int size) {
    for (int i = 0; i < size; i++) {
        cout << *(arr + i) << " ";
    }
}

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

在上面的例子中,printArray() 函数接收一个指向整型的指针和数组的大小。在函数内部,使用指针来遍历整个数组并输出各元素的值。

传递数组的引用

传递数组的引用是将数组的别名传递给函数,可以在函数内部直接使用数组名来操作数组。

下面是一个例子,演示如何在函数中使用引用来操作数组:

#include <iostream>
using namespace std;

void printArray(int (&arr)[5]) {
    for (int i = 0; i < 5; i++) {
        cout << arr[i] << " ";
    }
}

int main() {
    int arr[] = {1, 2, 3, 4, 5};
    printArray(arr);
    return 0;
}

在上面的例子中,printArray() 函数接收一个整型的引用,表示传递的是一个大小为5的数组。在函数内部,可以直接使用数组名来遍历整个数组并输出各元素的值。

传递多维数组

C++也支持传递多维数组。在传递多维数组时,可以使用指针或引用来传递。

下面是一个例子,演示如何在函数中使用指针来操作二维数组:

#include <iostream>
using namespace std;

void printArray(int (*arr)[3], int row) {
    for (int i = 0; i < row; i++) {
        for (int j = 0; j < 3; j++) {
            cout << arr[i][j] << " ";
        }
        cout << endl;
    }
}

int main() {
    int arr[2][3] = {{1, 2, 3}, {4, 5, 6}};
    printArray(arr, 2);
    return 0;
}

在上面的例子中,printArray() 函数接收一个指向大小为3的整型数组的指针和行数。在函数内部,使用指针来遍历整个二维数组并输出各元素的值。

总结

C++可以方便地将数组作为参数传递给函数,可以使用指针或引用来传递数组。通过这种方式可以方便地将数组的处理分离出来,并且能够提高代码的可读性和可维护性。