📅  最后修改于: 2023-12-03 15:14:00.074000             🧑  作者: Mango
在C++中,可以将数组作为参数传递给函数。这种技术可以方便地将数组的处理分离出来,并且能够提高代码的可读性和可维护性。
C++可以通过以下两种方式来传递数组:
传递数组的指针是将数组的第一个元素的地址传递给函数,然后在函数内部通过指针来操作数组。
下面是一个例子,演示如何在函数中使用指针来操作数组:
#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++可以方便地将数组作为参数传递给函数,可以使用指针或引用来传递数组。通过这种方式可以方便地将数组的处理分离出来,并且能够提高代码的可读性和可维护性。