c语言返回结构体数组
时间: 2023-12-02 14:38:56 浏览: 72
C语言中可以通过定义一个结构体数组来返回多个值。具体实现方法如下:
1. 定义一个结构体,结构体中包含需要返回的多个值。
2. 在函数中创建一个结构体数组,将需要返回的值存储在结构体数组中。
3. 返回结构体数组。
下面是一个示例代码:
```
#include <stdio.h>
struct MyStruct {
int a;
float b;
char c;
};
struct MyStruct* function() {
static struct MyStruct arr[3];
arr[0].a = 1;
arr[0].b = 2.0;
arr[0].c = 'a';
arr[1].a = 3;
arr[1].b = 4.0;
arr[1].c = 'b';
arr[2].a = 5;
arr[2].b = 6.0;
arr[2].c = 'c';
return arr;
}
int main() {
struct MyStruct* arr = function();
for (int i = 0; i < 3; i++) {
printf("%d %f %c\n", arr[i].a, arr[i].b, arr[i].c);
}
return 0;
}
```
在上面的示例代码中,我们定义了一个结构体`MyStruct`,包含了三个需要返回的值。在`function`函数中,我们创建了一个包含三个`MyStruct`结构体的静态数组,并将需要返回的值存储在数组中。最后,我们返回这个数组。在`main`函数中,我们调用`function`函数,并将返回的结构体数组存储在指针`arr`中。然后,我们遍历这个数组,并输出每个结构体中的值。