C语言结构体数组的定义是什么?

 我来答
吉祥二进制
高粉答主

2018-03-09 · 科技改变生活,生活改变科技。
吉祥二进制
采纳数:33926 获赞数:84579

向TA提问 私信TA
展开全部
  结构数组就是具有相同结构类型的变量集合。

  假如要定义一个班级40个同学的姓名、性别、年龄和住址, 可以定义成一个结构数组。如下所示:
struct{ char name[8]; char sex[2]; int age; char addr[40]; }student[40];  也可定义为:
struct string{ char name[8]; char sex[2]; int age; char addr[40]; }; struct string student[40];  需要指出的是结构数组成员的访问是以数组元素为结构变量的, 其形式为:
  结构数组元素.成员名
  例如:
student[0].name student[30].age  实际上结构数组相当于一个二维构造, 第一维是结构数组元素, 每个元素是
  一个结构变量, 第二维是结构成员。
  注意: 结构数组的成员也可以是数组变量。
  例如:
struct a { int m[3][5]; float f; char s[20]; }y[4];  为了访问结构a中结构变量y[2]的这个变量, 可写成
y[2].m[1][4]
codyboyzj
2018-03-09 · TA获得超过592个赞
知道小有建树答主
回答量:271
采纳率:0%
帮助的人:564万
展开全部
struct student
{ char stuno[10];//学号一般比较长,用字符数组存放。
char name[10];//存放姓名
float score[2];//数组中存放2门课的成绩;
float sum;//存放总分
float aver;//存放平均成绩
}stu[5]; //结构体数组,能表示5个同学各自的信息
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
默默aa无闻
2018-03-09 · TA获得超过355个赞
知道答主
回答量:36
采纳率:100%
帮助的人:40万
展开全部
#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

提交
取消

辅 助

模 式