C++函数返回一个数组
时间: 2023-12-06 12:04:01 浏览: 81
C++函数和数组
在 C 语言中,函数不能直接返回一个数组,但可以通过以下两种方式返回数组:
1. 通过指针返回数组
可以定义一个指针作为函数的返回值,指向存储在堆或静态存储区中的数组,并在函数中动态分配数组空间。例如:
```
int* getArray() {
static int arr[5] = {1, 2, 3, 4, 5};
return arr;
}
```
这里,我们定义了一个静态数组 `arr`,初始化为 `{1, 2, 3, 4, 5}`。函数 `getArray()` 返回一个指向数组首元素的指针。
2. 通过结构体返回数组
可以定义一个结构体,包含数组和数组长度等信息,并将其作为函数的返回值。例如:
```
struct Array {
int size;
int arr[5];
};
struct Array getArray() {
struct Array a = {5, {1, 2, 3, 4, 5}};
return a;
}
```
这里,我们定义了一个结构体 `Array`,包含数组长度 `size` 和数组 `arr`。函数 `getArray()` 返回一个结构体 `Array`,其中数组长度为 5,数组元素为 `{1, 2, 3, 4, 5}`。
阅读全文