结构体和数据结构--结构体数组的定义和初始化

目录

一、结构体数组的定义

二、结构体数组的初始化


一、结构体数组的定义

        一个结构体变量只能表示学生成绩管理表中的一个学生的记录信息,代表其中的一个实例,而实际数据库中有多个学生的记录,每个记录对应一个学生的信息,如何表示这么多具有相同结构体的学生记录呢?显然,相对于定义多个结构体变量而言,定义一个结构体数组是最简单的方法。

二、结构体数组的初始化

        也可以在定义结构体数组的同时对其进行初始化。

例题:利用结构体数组计算每个学生的4门课程的平均分。

 

程序如下,之前的程序差不多,增加了一个计算平均分的功能,主要突出显示数组在结构体的示例。 

#include 
typedef struct date
{int year;int month;int day;
}DATE;typedef struct student
{long studentID;char studentName[10];char studentSex;DATE birthday;int  score[4];
}STUDENT;int main(void)
{int i,j;float sum[30];STUDENT stu[30] = {{100310121,"王刚",'M',{1991,5,19},{72,83,90,82}},{100310122,"李小明",'M',{1992,8,20},{88,92,78,78}},{100310123,"王洪礼",'F',{1991,9,19},{98,72,89,66}},{100310124,"程莉莉",'F',{1992,3,22},{87,95,78,90}}};for(i=0;i<4;i++){sum[i]=0;for(j=0;j<4;j++){sum[i]+=stu[i].score[j];}printf("%10ld%8s%3c%6d/ %02d/ %02d%4d%4d%4d%4d%6.1lf\n",stu[i].studentID,stu[i].studentName,stu[i].studentSex,stu[i].birthday.year,stu[i].birthday.month,stu[i].birthday.day,stu[i].score[0],stu[i].score[1],stu[i].score[2],stu[i].score[3],sum[i]/4.0);}return 0;
}


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部