3. 结构数组
将具有相同结构类型的变量组长起来,形成一个结构数组。结构数组是结构与数组的结合,与普通数组的不同之处在于每个数组元素都是一个结构类型的的数据,包括各个成员项。
结构数组的定义方法与普通数组的定义方法相同,不过此时的类型是结构。在定义结构数组是,也可以同时对其初始化,其格式与二维数组的初始化类似。
#include<stdio.h>
truct student {
char* name; //姓名
int num; //学号
float score; //分数
}stu[3] = {
//结构数组名为stu,相当于有三个学生项,每个项都包含结构体student里面的成员
{
"Tom",16160001020,125.3},
{
"Jack",16160001021,135.1},
{
"Cindy",16160001043,90.5}
};
当对数组中全部元素赋值时,可以不给出数组长度,如第6行可以为stu[] = ……
结构数组元素的引用是通过数组下标与结构成员操作符“.”相结合的方式来实现,一般格式为:
结构数组名[下标].结构成员名
例如,获取Jack的成绩:
stu[1].score;
修改Tom的学号:
stu[0].num=16160002023;
例,输出全部信息,计算该班级分数的平均数以及找出100分以下的人并输出其姓名.
#include<stdio.h>
struct student {
char* name; //姓名
char* num; //学号
float score; //分数
}stu[4] = {
//结构数组名为stu,相当于有4个学生项,每个项都包含结构体student里面的成员
{
"Tom","16160001020",125.3},
{
"Jack","16160001021",135.1},
{
"Cindy","16160001043",90.5},
{
"Eva","16160001053",101.6}
};
int main()
{
int i;
float sum = 0, average;
printf("姓名\t学号\t\t成绩\n");
for (i = 0; i < 4; i++

最低0.47元/天 解锁文章
1837

被折叠的 条评论
为什么被折叠?



