C语言如何返回结构体数组

定义结构体typedefstruct_STR_POINT{floatfX;floatfY;}STR_POINT;现要求函数返回这个结构体的数组,即函数返回多组这个结构体的... 定义结构体typedef struct _STR_POINT
{
float fX;
float fY;
}STR_POINT;
现要求函数返回这个结构体的数组,即函数返回多组这个结构体的值。定义一个函数STR_POINT function(),要求函数funciton的返回值是STR_POINT的数组
展开
 我来答
u无力哀叹丶
2019-01-21 · TA获得超过520个赞
知道小有建树答主
回答量:696
采纳率:64%
帮助的人:333万
展开全部

题设是有问题的

首先你定义了一个结构体_STR_POINT 并且自定义了一个类型STR_POINT

现在你函数的返回值是STR_POINT类型   而你要求返回STR_POINT数组

STR_POINT数组的类型是STR_POINT[]显然预期类型和返回类型不同啊

这是编译器的语法预警

cahcker
2019-01-21 · TA获得超过1915个赞
知道小有建树答主
回答量:957
采纳率:81%
帮助的人:297万
展开全部
这样写:
STR_POINT * f()

STR_POINT *p, a[10];
……
p=&a[0];
return(p);

将会返回你这个数组的首地址,这样就可以访问这个数组了……
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
AlphaG
高粉答主

2019-01-21 · 专注教育,感受过程,发现美好
AlphaG
采纳数:19857 获赞数:109918

向TA提问 私信TA
展开全部
1、C语言结构体数组的定义:数组是有序的并且具有相同类型的数据的集合。
2、结构数组就是具有相同结构类型的变量集合。假如要用C语言,定义一个班级40个同学的姓名、性别、年龄和住址, 可以做成一个结构数组。
结构数组成员的访问是以数组元素为结构变量的,它的形式为:
1、结构数组元素—成员名。
2、例如:student[0].name,student[30].age
3、实际上结构数组相当于一个二维构造, 第一维是结构数组元素, 每个元素是一个结构变量, 第二维是结构成员。
学生情况登记表格编程模式如下:
#include<stdio.h>
struct student
{
int num;
char name[20];
float score1,score2,sum,average;
};
void main()
{
struct student stu[5];
int i;
for(i=0;i<5;i++)
{
printf("请依次输入第%d个学生的学号,姓名,和两门成绩:",i+1);
scanf("%d%s%f%f",&stu[i].num,stu[i].name,&stu[i].score1,&stu[i].score2);
stu[i].sum=stu[i].score1+stu[i].score2;
stu[i].average=stu[i].sum/2;
}
printf("学号 姓名 成绩 总成绩 平均成绩\n");
for(i=0;i<5;i++)
printf("%d %s %.2f %.2f %.2f
%.2f\n",stu[i].num,stu[i].name,stu[i].score1,stu[i].score2,stu[i].sum,stu[i].average);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式