C语言详细笔记--构造数据类型(结构体数组)

目录

一、结构体数组的定义

二、结构体数组的初始化

三、结构体数组的引用


一、结构体数组的定义

struct stuscoretype{
    int stuid;
    int score[3];
    double average;
};
struct stuscoretype stu[3];

上面语句定义了一个名为stu的数组,数组有三个元素,每个元素的类型为struct stuscoretype结构体类型。一般格式如下:

struct 结构体名 数组名[整型常量表达式];

也可以有如下两种定义方法:

struct stuscoretype{
    int stuid;
    int score[3];
    double average;
}stu[3];
struct {
    int stuid;
    int score[3];
    double average;
}stu[3];

二、结构体数组的初始化

由于数组每一个元素都是结构体,因此可以将每个元素中成员的初值一次放在一对花括号内以便区分各个元素。例如:

struct stuscoretype{
    int stuid;
    int score[3];
    double average;
} stu[3]={
            {1001,{80,81,82},81.00},
             {1002,{80,81,82},81.00},
             {1003,{80,81,82},81.00}
        };

三、结构体数组的引用

一个结构体元素相当于一个结构体变量,引用结构体数组元素格式一般如下:

数组名[下标].成员名 

 例如:如果已经定义了一个struct stuscoretype结构体类型,则可以按如下程序段来使用结构体数组:

struct stuscoretype stu[3];
stu[0].stuid=1001//对数组第一个元素学号赋值
scanf("%d",&stu[0].score[0]);
//输入数组第一个元素的成绩数组的第一个元素
stu[0].score[1]=87;
//对数组第一个元素的成绩数组的第二个元素赋值
printf("%d",stu[0].score[1];
//输出数组第一个元素的成绩数组的第二个元素

 学完结构体数组后可以试着用结构体数组解决上一节的学生三门课程平均分问题喔!!体验更简便的方法。


本期博客到这里就结束啦~~

下一期更新结构体指针,如果对你有帮助的话点赞收藏关注吧!! 

  • 10
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值