函数调用怎么输入数组
时间: 2024-11-24 14:02:17 浏览: 12
在C++中,函数调用时传递数组通常有两种方式:传址(pass by reference)或传值(pass by value,然后间接访问数组元素)。这里我会分别介绍这两种情况:
**1. 传址(Pass by reference)**
当你希望函数修改数组中的元素并且不创建数组的副本时,可以使用引用参数。例如:
```cpp
void updateArray(int(&array)[5]) {
for (int i = 0; i < 5; ++i) {
array[i] *= 2;
}
}
// 调用函数并传入数组
int arr[5] = {1, 2, 3, 4, 5};
updateArray(arr);
```
在这个例子中,`arr`的地址被传递给`updateArray`函数,函数可以直接操作数组。
**2. 传值(Pass by value)**
如果不需要修改原数组,或者你需要复制整个数组,你可以传数组的指针(即指向数组首元素的指针):
```cpp
void printArray(const int* array, int size) {
for (int i = 0; i < size; ++i) {
std::cout << array[i] << " ";
}
}
// 调用函数并传入数组
int arr[] = {1, 2, 3, 4, 5};
printArray(arr, sizeof(arr) / sizeof(arr[0])); // 注意:要指定数组大小
```
在这里,函数接收的是数组的拷贝(指针),而不是实际的数组。
阅读全文