利用指针把子函数中的数组赋值给外部的数组
时间: 2024-08-13 16:03:15 浏览: 43
指针进阶之函数指针和函数指针数组
5星 · 资源好评率100%
在C++或其他支持指针的语言中,你可以通过将子函数内的数组作为参数传递给另一个函数,然后把这个参数复制到外部数组中来实现这一操作。这是通过指针间接完成的,因为指针可以存储数组的地址。下面是一个简单的示例:
```cpp
#include <iostream>
void getArray(int arr[], int size) {
// 在这个函数内部创建并填充一个数组
static int internalArr[size] = {0, 1, 2, 3, 4};
// 使用指针传递数组给外部函数
std::copy(&internalArr, &internalArr[size], arr);
}
int main() {
int externalArr[5]; // 定义外部数组
// 调用函数并将内部数组的副本赋值给外部数组
getArray(externalArr, sizeof(externalArr) / sizeof(externalArr));
// 打印外部数组的内容
for (int i = 0; i < sizeof(externalArr) / sizeof(externalArr); ++i) {
std::cout << externalArr[i] << " ";
}
return 0;
}
```
在这个例子中,`getArray`函数接收一个整型数组和它的大小,然后用`std::copy`函数将内部数组的元素复制到外部数组中。注意,这种方法不会改变原函数内部的数组,它们是独立的。
阅读全文