devc++函数返回数组
时间: 2024-01-14 13:21:46 浏览: 88
在DevC++中,函数无法直接返回数组。但是,可以通过以下两种方法来实现函数返回数组的效果:
方法一:使用指针作为函数参数
可以将数组作为指针传递给函数,并在函数内部修改数组的值。这样,函数就可以修改原始数组,并且不需要返回数组。下面是一个示例代码:
```cpp
#include <iostream>
// 函数通过指针修改数组的值
void modifyArray(int* arr, int size) {
for (int i = 0; i < size; i++) {
arr[i] *= 2; // 将数组中的每个元素乘以2
}
}
int main() {
int arr[] = {1, 2, 3, 4, 5};
int size = sizeof(arr) / sizeof(arr[0]);
modifyArray(arr, size);
// 打印修改后的数组
for (int i = 0; i < size; i++) {
std::cout << arr[i] << " ";
}
return 0;
}
```
输出结果为:2 4 6 8 10
方法二:使用动态内存分配
可以在函数内部使用动态内存分配来创建一个新的数组,并将其返回给调用者。需要注意的是,在使用完返回的数组后,需要手动释放内存以避免内存泄漏。下面是一个示例代码:
```cpp
#include <iostream>
// 函数动态分配数组并返回
int* createArray(int size) {
int* arr = new int[size];
for (int i = 0; i < size; i++) {
arr[i] = i + 1; // 将数组赋值为 1, 2, 3, ...
}
return arr;}
int main() {
int size = 5;
int* arr = createArray(size);
// 打印返回的数组
for (int i = 0; i < size; i++) {
std::cout << arr[i] << " ";
}
delete[] arr; // 释放内存
return 0;
}
```
输出结果为:1 2 3 4 5
阅读全文