首页 > 其他分享 >C语言详细笔记--构造数据类型(结构体数组)

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

时间:2024-08-29 22:56:21浏览次数:11  
标签:struct -- 元素 数据类型 C语言 stu int 数组 结构

目录

一、结构体数组的定义

二、结构体数组的初始化

三、结构体数组的引用


一、结构体数组的定义

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];
//输出数组第一个元素的成绩数组的第二个元素

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


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

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

标签:struct,--,元素,数据类型,C语言,stu,int,数组,结构
From: https://blog.csdn.net/Jasmine5606/article/details/141686081

相关文章

  • 光性能 -- OMA(光调制幅度)
    基本概念        OMA(OpticalModulationAmplitude):光调制幅度,是光信号测试中的一项指标。是指光模块接收到的信号”1”的光功率和信号“0”的光功率的差值。即:        Pavg(averageopticalpower):接收平均光功率,是指光模块接收到的信号”1”的光功率和信号......
  • 光性能 -- 光功率平坦度
    什么是光功率平坦度?光功率平坦度指的是,光放各单波功率值与所有波平均值的功率差。通过MCA(多通道光谱分析单元)扫描OMS(光复用段)上的所有单波光功率,计算经过光放的所有波长的功率平均值,计算每一波的单波功率与平均值的差值,对每一个差值分别取绝对值,其中最大值即为光功率平坦度......
  • 光性能 -- 入纤光功率
    什么是入纤光功率?        入纤光功率:指业务光进入长纤时的单波光功率。如图所示,即为C点的光功率。​为什么要有入纤光功率        影响波分系统传输性能主要有四大因素:光功率:表示能力的强弱,光模块能否接收。色散:对相邻波道产生干扰。光信噪比(OSNR):表示信......
  • 记Spring HTTP Invoker远程调用的使用(二)基于Servlet方式,配置servlet映射url-pattern实
    目录前言一、概念二、代码实现1.服务端实现2.客户端实现前言本篇接上一篇记SpringHTTPInvoker远程调用的使用(一)基于Url映射方式,DispatcherServlet统一处理实现-CSDN博客https://blog.csdn.net/u011529483/article/details/141678510?spm=1001.2014.3001.5501之......
  • 区块链入门
    1.1区块链技术的发展        随着2008年比特币(Bitcoin)的发明,一个被称为区块链(Blockchain)的新概念进入了人们的视野,这项新技术据信有可能彻底改变整个社会。        区块链有望对每个行业产生颠覆的影响,包括但不限于IT、金融、政府、媒体、医疗、法律......
  • Java LeetCode 练习
        3142.判断矩阵是否满足条件需求:        给你一个大小为mxn的二维矩阵grid。你需要判断每一个格子grid[i][j]是否满足:        如果它下面的格子存在,那么它需要等于它下面的格子,也就是grid[i][j]==grid[i+1][j]。        ......
  • YOLOv8改进 | Neck篇 | YOLOv8引入BiFPN双向特征金字塔网络
    1.BiFPN介绍摘要:模型效率在计算机视觉中变得越来越重要。在本文中,我们系统地研究了用于目标检测的神经网络架构设计选择,并提出了几个提高效率的关键优化。首先,我们提出了一种加权双向特征金字塔网络(BiFPN),它可以轻松快速地进行多尺度特征融合;其次,我们提出了一种复合缩放方法......
  • 2024.8.29 总结
    上午&中午按计划学了李超线段树,照着题解写过了模板题。然后本来打算去做题单里的一道Ynoi紫来练dsuontree,于是边写题解边想,结果写着写着就不会了,发现好像dsuontree不太好做,好像是两只log的。还可能大概会一个单log大常数线段树合并。看题解区发现有跑出dfs序后......
  • ROS 简单导航
        导航是现代机器人可以说是必备的功能,很多机器人都不可以缺少这个功能,本文仍然是通过ros的topic话题通讯机制,结合了map和导航相关的话题,通过手动设置目标点,完成了对于机器人导航的控制。    1.首先需要导包:importrospyimportactionlibfrommove_base_m......
  • 第一篇博客 自我介绍+软工5问
    这个作业属于哪个课程2022计科12班这个作业要求在哪里自我介绍+软工5问这个作业的目标进行自我介绍,了解博客园的使用,学习Git操作自我介绍我叫周彦安,一名来自广东工业大学计算机学院计算机科学与技术的学生,平时喜欢打篮球、旅行和摄影,也喜欢设计网页为用户提供......