C语言调用函数怎么返回数组
时间: 2023-09-25 20:06:21 浏览: 127
在 C 语言中,函数可以返回一个数组。有两种方法可以实现这一点:
1. 将数组作为函数的返回值
可以将数组声明为函数的返回类型,例如:
```c
int* func() {
static int arr[5] = {1, 2, 3, 4, 5};
return arr;
}
```
这里 `func` 函数返回一个指向静态数组的指针。静态数组保证了数组在函数外仍然有效。
2. 将数组作为输出参数
可以将数组作为函数的参数传递,并在函数中对其进行修改,例如:
```c
void func(int arr[], int size) {
int i;
for(i = 0; i < size; i++) {
arr[i] = i + 1;
}
}
```
这里 `func` 函数接收一个整型数组和数组大小作为参数,并在函数内部对数组进行修改。
调用函数时,可以使用以下代码:
```c
int main() {
int i;
int arr[5];
// 调用方式1:将数组作为返回值
int* p = func();
for(i = 0; i < 5; i++) {
printf("%d ", p[i]);
}
printf("\n");
// 调用方式2:将数组作为输出参数
func(arr, 5);
for(i = 0; i < 5; i++) {
printf("%d ", arr[i]);
}
printf("\n");
return 0;
}
```
以上代码将输出:
```
1 2 3 4 5
1 2 3 4 5
```
这两种方法都可以实现函数返回数组的功能,具体选择哪种方式取决于具体的需求。
阅读全文