c语言结构体数组

      使用结构体变量建立数据类型后,我们就可以利用这个数据类型创建数组,就比如创建整形数组就可以写为 int arr[ ],那么创建一个自己建立的数据类型的数组就可以写为:

声明的结构体类型名 + 数组名。

例如我们声明一个结构体类型struct my后,就可以在主函数写一个struct my类型的数组。如下:

struct my
{
int a;
char b;
int arr[5];
};
int main()
{
struct my brr[5];
}

     例题:

(1)定义一个结构体变量Birthday用来存放一个人的出生日期(年、月、日)。

(2)定义一个结构体变量Student 用来存放学生个人信息,包括姓名(10个字符),学号(长整型)、出生日期、身高、体重)

(3)定义一个结构体数组MyClass用来存放5个学生的信息

编写程序实现要求从键盘输入5个同学的信息,然后输出5个同学的信息。

struct Birthday
{
	int year;
	int	month;
	int day;
};
struct Student
{
	char name[10];//名字
	long int num;//学号
	struct Birthday p;//出生日期
	int hight;//身高
	int weight;//体重
};

int main()
{
	struct Student MyClass[5];
	for (int i = 0; i < 5; i++)
	{
		printf("输入第%d个学生的信息:\n ", i + 1);
		printf("名字:");
		scanf("%s", &MyClass[i].name);
		printf("学号:");
		scanf("%ld", &MyClass[i].num);
		printf("生日日期(年 月 日):");
		scanf("%d %d %d", &MyClass[i].p.year, &MyClass[i].p.month, &MyClass[i].p.day);
		printf("身高:");
		scanf("%d", &MyClass[i].hight);
		printf("体重:");
		scanf("%d", &MyClass[i].weight);
	}
	printf("\n");
	for (int j = 0; j < 5; j++)
	{
		printf("输出第%d个学生的信息:\n", j + 1);
		printf("名字:");
		printf("%s\n", MyClass[j].name);
		printf("学号:");
		printf("%ld\n", MyClass[j].num);
		printf("生日日期(年 月 日):");
		printf("%d %d %d\n", MyClass[j].p.year, MyClass[j].p.month, MyClass[j].p.day);
		printf("身高:");
		printf("%d\n", MyClass[j].hight);
		printf("体重:");
		printf("%d\n", MyClass[j].weight);
	}
	return 0;
}

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

技术扫盲:如何优雅的使用 java -jar

java -jar xxx.jar java -jar 是一个用于在命令行界面中执行 Java 可执行 JAR 文件的命令。它的语法如下&#xff1a; java -jar <JAR 文件路径> [参数]其中&#xff1a; java 是 Java 运行时环境的可执行文件。-jar 是一个选项&#xff0c;表示要执行的文件是一个 JA…

文件IO

文章目录 文章目录 前言 一 . 文件 文件路径 文件类型 Java中操作文件 File 概述 属性 构造方法 方法 createNewFile mkdir 二 . 文件内容的读写 - IO InputStream 概述 FileInputStream 概述 利用 Scanner 进行字符读取 OutputStream 概述 PrintWriter封装O…

【教学类-42-03】20231225 X-Y 之间加法题判断题3.0(确保错误题有绝对错误的答案)

背景需求&#xff1a; 根据需求&#xff0c;0-5以内的判断是21题正确&#xff0c;21题错误&#xff0c;但由于错误答案是随机数抽取&#xff0c;有可能恰好是正确的&#xff0c;所以会出现每套题目的正确数和错误数不一样的情况 优化思路一&#xff1a; 设置如果错误答案与正…

14 UVM sequencer

sequencer是在sequence和driver之间建立连接的中介。最终&#xff0c;它将transactions或sequence items传递给driver&#xff0c;以便将其驱动到DUT。 1. uvm_sequencer class hierarchy uvm_sequencer class declaration: class uvm_sequencer #( type REQ uvm_sequence_i…

美国某金融公司遭遇网络攻击,130 万民众受影响

The Record 网站披露&#xff0c;美国最大的产权保险公司富达国民金融&#xff08;Fidelity National Financial&#xff08;"FNF"&#xff09;&#xff09;子公司向所在州监管机构报告了一起数据泄露事件&#xff0c;并指出有 1316938 人的数据信息被入侵其母公司的…

ActiveMQ漏洞合集

目录 介绍CVE-2015-5254&#xff1a;Apache ActiveMQ任意代码执行漏洞漏洞介绍 & 环境准备漏洞发现Nuclei❌Vulmap✅漏洞验证漏洞利用 CVE-2016-3088&#xff1a;Apache ActiveMQ Fileserver远程代码执行漏洞漏洞发现Nuclei✅Vulmap✅MSF✅第三方工具1&#xff08;漏洞探测…

【SAM系列】I-MedSAM: Implicit Medical Image Segmentation with Segment Anything

论文链接&#xff1a;https://arxiv.org/abs/2311.17081 比较有趣的点&#xff1a;frequency adapter

中间件系列 - Redis入门到实战(原理篇)

前言 学习视频&#xff1a; 黑马程序员Redis入门到实战教程&#xff0c;深度透析redis底层原理redis分布式锁企业解决方案黑马点评实战项目 中间件系列 - Redis入门到实战 本内容仅用于个人学习笔记&#xff0c;如有侵扰&#xff0c;联系删除 学习目标 Redis数据结构Redis网…

若依common模块解读,Java小白入门(四)

● 若依springboot版本后端&#xff0c;有两个核心模块&#xff0c;一个是ruoyi-common,一个是ruoyi-framewok,今天我们来看第一个模块ruoyi-common, 一些基类&#xff0c;工具等框架底座&#xff0c;分别来看其包含哪些基本内容&#xff1a; 1. annotation 注解&#xff0c;…

K8S 全局架构图 —— 筑梦之路

kube-apiserver&#xff1a; Kubernetes API 服务器验证并配置 API 对象的数据&#xff0c; 这些对象包括 pods、services、replicationcontrollers 等。API 服务器为 REST 操作提供服务&#xff0c;并为集群的共享状态提供前端&#xff0c; 所有其他组件都通过该前端进行交互。…

传感器原理与应用复习--电感式传感器

文章目录 上一篇自感式电感传感器差动变压器式传感器电涡流式传感器下一篇 上一篇 传感器原理与应用–传感器基本特性与应变式传感器 自感式电感传感器 将线圈通入电流产生磁场&#xff0c;而间隙的大小将影响磁场的大小&#xff0c;从而进行检测 变气隙式电感传感器&#xf…

ERP系统与智能商品系统在供应链管理上的区别和优势在哪些方面?

ERP系统和智能商品系统在供应链管理方面有以下区别和优势&#xff1a; 范围和综合性&#xff1a;ERP系统涵盖了企业的整个供应链管理过程&#xff0c;包括供应商管理、采购管理、库存管理、生产计划和物流管理等。它可以实现供应链上下游的信息共享和协同&#xff0c;提高供应…

第十一章:实验案例一:软件仓库部署及应用

实验环境 随着某公司内部的Linux服务器不断增多&#xff0e;软件更新&#xff0e;系统升级等需求也逐渐凸显。为了提高软件包管理效率&#xff0c;减少重复下载&#xff0c;公司要求部署一台软件仓库服务器&#xff0c;面向内网提供安装源。 需求描述 1&#xff0c;服务器使…

【日志系列】什么是分布式日志系统?

✔️什么是分布式日志系统&#xff1f; 现在&#xff0c;很多应用都是集群部署的&#xff0c;一次请求会因为负载均衡而被路由到不同的服务器上面&#xff0c;这就导致一个应用的日志会分散在不同的服务器上面。 当我们要向通过日志做数据分析&#xff0c;问题排查的时候&#…

【AI】计算机视觉VIT文章(Transformer)源码解析

论文&#xff1a;Dosovitskiy A, Beyer L, Kolesnikov A, et al. An image is worth 16x16 words: Transformers for image recognition at scale[J]. arXiv preprint arXiv:2010.11929, 2020 源码的Pytorch版&#xff1a;https://github.com/lucidrains/vit-pytorch 0.前言 …

QT、C++实验室管理系统

一、需求介绍&#xff1a; 题目:基于Qt的实验室管理系统的设计 项目命名以LabSystem姓名拼音首字母&#xff08;例如: LabSystemwXC) 功能要求: 一&#xff0c;基本必要功能: 1&#xff0c;使用QSQLITE数据库完成数据库的设计。 2&#xff0c;注册功能:包含学生注册&#xff0…

鸿蒙项目二—— 注册和登录

此部分和上篇文章是连续剧 &#xff0c;如果需要&#xff0c;请查看 一、注册 import http from ohos.net.http; Entry Component struct Reg {// 定义数据&#xff1a;State username: string "";State userpass: string "";State userpass2: string …

【网络技术】【Kali Linux】Wireshark嗅探(一)ping和ICMP

一、实验目的 本次实验使用wireshark流量分析工具进行网络嗅探&#xff0c;旨在了解ping命令的原理及过程。 二、网络环境设置 本系列实验均使用虚拟机完成&#xff0c;主机操作系统为Windows 11&#xff0c;虚拟化平台选择Oracle VM VirtualBox&#xff0c;组网模式选择“N…

python嵌套异常处理器

1 python嵌套异常处理器 python的异常处理器支持嵌套。 1.1 嵌套的try/except处理器 用法 def f1():raise E def f2():try:f1()except E:pass try:f2() except E:pass描述 嵌套的try/except处理器&#xff0c;发生异常时&#xff0c;控制权会跳回具有相符的except分句、最近…