c++函数怎么返回数组
时间: 2023-09-04 08:15:58 浏览: 105
在 C 语言中,函数无法直接返回一个数组,但可以通过以下两种方式来间接实现返回一个数组:
1. 返回指向数组的指针
可以在函数中声明一个指针变量,用于指向数组的首地址,然后将该指针返回给调用函数。例如:
```c
int* func(){
static int arr[5] = {1, 2, 3, 4, 5};
return arr;
}
```
在这个例子中,`func()` 函数返回一个指向 `arr` 数组的指针,调用函数可以通过该指针访问数组元素。
2. 通过参数传递数组
可以在函数中声明一个数组形参,并将要返回的数组作为实参传递给该函数。例如:
```c
void func(int arr[], int size){
for(int i = 0; i < size; i++){
arr[i] = i + 1;
}
}
```
在这个例子中,`func()` 函数通过数组形参 `arr` 修改了调用函数中的数组元素。
需要注意的是,如果要返回一个动态分配的数组,需要在函数内部使用 `malloc()` 或者 `calloc()` 函数申请内存,并在使用完毕后记得使用 `free()` 函数释放内存。
阅读全文