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

目录

一、结构体数组的定义

二、结构体数组的初始化


一、结构体数组的定义

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

二、结构体数组的初始化

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

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

 

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

#include <stdio.h>
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;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/3289.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MySQL----MHA高可用

文章目录 一、MHA理论1.1什么是 MHA1.2MHA 的组成1.3MHA 的特点 二、MHA的一主两从部署实验设计故障修复步骤&#xff1a; 一、MHA理论 1.1什么是 MHA MHA&#xff08;MasterHigh Availability&#xff09;是一套优秀的MySQL高可用环境下故障切换和主从复制的软件。 MHA 的出…

初识Docker:(7)查询Docker镜像的DockerFile

1. 前言 我们知道了根据dockerfile来制作镜像&#xff0c;如果给你一个现成的镜像&#xff0c;你能逆向查看出dockerfile吗&#xff1f; 否则&#xff0c;你怎么知道该镜像使用的是CMD还是ENTRYPOINT &#xff0c;使用的是shell格式还是CMD格式&#xff1f;由于格式决定了doc…

【HTML5】svg 绘制图形

文章目录 一、基本介绍二、用法详解2.1、矩形&#xff08;rect&#xff09;2.2、圆形&#xff08;circle&#xff09;2.3、椭圆&#xff08;ellipse&#xff09;2.4、线条&#xff08;line&#xff09;2.5、折线&#xff08;polyline&#xff09;2.6、多边形&#xff08;polygo…

Anaconda详细安装及配置教程(Windows)

Anaconda详细安装及配置教程&#xff08;Windows&#xff09; 一、下载方式1、官网下载2、网盘下载 二、安装三、配置四、创建虚拟环境 一、下载方式 1、官网下载 点击下载 点击window下载即可。 2、网盘下载 点击下载 二、安装 双击运行 点next 点I agree next 如…

springboot定时任务详解

文章目录 一、基于注解&#xff08;静态&#xff09;1、添加依赖2、创建定时任务3、参数说明 二、基于接口&#xff08;动态&#xff09;1、添加依赖2、添加数据库记录3、创建定时器4、启动测试 三、Quartz1、添加依赖2、编写任务类3、编写配置类4、启动项目 在我们开发项目过程…

go channel 详解

一、概述 在Go语言中&#xff0c;channel是一种特殊的类型&#xff0c;用于在并发编程中实现不同的goroutine之间的通信和同步。本文将深入探讨golang的channel是如何工作的&#xff0c;并介绍如何使用channel来提高程序的性能和可靠性。 二、什么是Channel&#xff1f; 在G…

Kafka

资料来源视频&#xff1a;尚硅谷-Kafka3.x教程 一、Kafka概述 1.1 定义 Kafka传统定义:Kafka是一个分布式的基于发布/订阅模式的消息队列(MessageQueue)&#xff0c;主要应用于大数据实时处理领域。 发布订阅:消息的发布者不会将消息直接发送给特定的订阅者&#xff0c;而是…

工程安全监测无线振弦采集仪在建筑物的应用

工程安全监测无线振弦采集仪在建筑物的应用 工程安全监测无线振弦采集仪是一种先进的监测设备&#xff0c;可以在建筑物、桥梁、隧道、大坝等工程施工或运营中进行振动监测和安全评估。其在建筑物的应用主要是针对建筑物结构的振动和变形进行监测和分析&#xff0c;以确保建筑…

C语言进阶---自定类型详解(结构体+枚举+联合)

结构体 1、结构体类型的声明 1.1、结构的基础知识 结构是一些值得集合&#xff0c;这些值称为成员变量。结构的每个成员可以是不同类型的变量。 1.2、结构体类型的声明 struct tag {member-list; }variable-list;//写法一&#xff1a; struct Stu {char name[20];int age;…

在windows环境下安装支持CUDA的opencv-python

文章目录 附件&#xff1a;GPU和CUDA的关系 —— 开发人员通过CUDA可以使用GPU的计算能力来加速各种计算任务&#xff0c;并提高计算性能和效率。一、环境配置&#xff08;0&#xff09;我的电脑配置环境&#xff08;1&#xff09;CUDA cuDNN下载与安装&#xff08;2&#xff…

NXP i.MX 8M Mini工业核心板硬件说明书(四核ARM Cortex-A53 + 单核ARM Cortex-M4,主频1.6GHz)

1 硬件资源 创龙科技SOM-TLIMX8是一款基于NXP i.MX 8M Mini的四核ARM Cortex-A53 单核ARM Cortex-M4异构多核处理器设计的高端工业级核心板&#xff0c;ARM Cortex-A53(64-bit)主处理单元主频高达1.6GHz&#xff0c;ARM Cortex-M4实时处理单元主频高达400MHz。处理器…

【日志加载 log4j】

日志 笔记记录 1. 日志介绍2. 日志体系结构3.Log4j开发流程4.Log4j组成4.1 Loggers 记录器4.2 Appenders 输出源4.3 Layouts 布局5. 配置文件 log4j.properties 1. 日志介绍 2. 日志体系结构 3.Log4j开发流程 1.引入依赖<dependency><groupId>log4j</groupId>…