【C++】结构体嵌套结构体

目录

1、缘起

2、结构体嵌套结构体

3、总结


1、缘起

        结构体嵌套结构体 是一种数据组织方式,就像 俄罗斯套娃 一样,一个数据结构可以包含另一个数据结构。这种嵌套结构使得程序可以更加灵活地处理数据,从而更好地满足复杂的需求。类比生活中的 套娃玩具每一层套娃都有自己的特点和功能,而它们的 组合 则产生了更多的可能性和乐趣。

        在结构体中可以定义另一个结构体作为成员,用来解决实际问题。

2、结构体嵌套结构体

作用:结构体中的成员可以是另一个结构体

例如:每个老师辅导一个学员,一个老师的结构体中,记录一个学生的结构体

示例:

#include<iostream>
#include<string>
using namespace std;

//定义一个学生的结构体
struct students
{
	string name;
	int age = 0;
	int scores = 0;
};

//定义一个老师的结构体
struct teachers
{
	int id = 0; //老师编号
	int age = 0;  //年龄
	string name;  //姓名
	struct students stu;  //辅导的学生
};

int main()
{
	//结构体嵌套结构体
	//创建老师
	struct teachers t;
	t.id = 10000;
	t.name = "老王";
	t.age = 50;
	t.stu.name = "小王";
	t.stu.age = 20;
	t.stu.scores = 60;

	cout << "老师的基本信息:" << endl;
	cout << "姓名:" << t.name << endl;
	cout << "编号:" << t.id << endl;
	cout << "年龄:" << t.age << endl;
	cout << endl;
	cout << "老师辅导的学生:" << endl;
	cout << "姓名:" << t.stu.name << endl;
	cout << "年龄:" << t.stu.age << endl;
	cout << "分数:" << t.stu.scores << endl;

	system("pause");
	return 0;
}	

 

3、总结

        在编程中,结构体嵌套结构体是一种常用的 数据组织方式。通过将一个结构体嵌套到另一个结构体中,程序员可以创建复杂的数据结构,以便更好地满足程序的需求。这种嵌套结构可以嵌套多层,使得数据结构变得更加灵活,可以很好地处理各种类型的数据。

        使用结构体嵌套结构体的好处是显而易见的。首先,它可以帮助程序员更好地 组织数据,使代码更具可读性和可维护性。其次,它可以提高程序的灵活性和可扩展性,从而更好地满足复杂的需求。最后,它可以让程序员在编写代码时更加高效和简洁,减少代码的冗余。

        本期的分享总结就到这里了,如果有疑问的小伙伴,我们在评论区交流嗷,笔者必回,我们下期再见啦 !

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

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

相关文章

Can‘‘t connect to MySQL server on localhost (10061)解决方法

首先检查MySQL 服务没有启动》如果没有启动&#xff0c;则要启动这个服务。 有时候安装mysql后使用mysql命令时报错 Cant connect to MySQL server on localhost (10061)&#xff0c;或者用net start mysql 时报服务名无效&#xff0c;一般是因为mysql服务没有启动。 打开 powe…

MySQL中使用IN()查询到底走不走索引?

MySQL中使用IN&#xff08;&#xff09;查询到底走不走索引&#xff1f; 看数据量 EXPLAIN SELECT * from users WHERE is_doctor in (0,1); 很明显没走索引&#xff0c;下面再看一个sql。 EXPLAIN SELECT * from users WHERE is_doctor in (2,1);又走索引了&#xff0c;所以…

day81【leetcode】打家劫舍专题

文章目录前言一、打家劫舍&#xff08;力扣198&#xff09;【相邻两间房不能偷】二、打家劫舍 II&#xff08;力扣213&#xff09;【围成一圈 相邻两间房不能偷】三、打家劫舍 III&#xff08;力扣337&#xff09;【树形DP】每日一题day81&#xff1a;链表中的下一个更大节点&a…

Java:jdk的安装以及hello world

由于本人头发较多&#xff0c;常常被认为是不用功的程序员&#xff1b;故&#xff0c;我来学学Java&#xff0c;希望我变秃了也变强了&#xff01; 首先是java的安装&#xff0c;根据我司java的建议&#xff0c;安装了jdk8与jdk17&#xff01;因为在众多的版本中&#xff0c;只…

《Netty》从零开始学netty源码(三十九)之PoolSubPage的内存分配

目录 PoolSubPage.allocategetNextAvail方法toHandle方法removeFromPool方法 PoolSubPage.allocate 上一篇我们介绍了PoolSubPage的简单知识&#xff0c;当我们需要PoolSubPage的内存时可调用allocate方法查找可分配二进制的位置&#xff0c;具体的源码过程如下&#xff1a; …

vite .env.test环境使用ant design vue ,打包后a-date-picker控件无法选择日期

前端开发后台管理系统&#xff0c;常用的UI库当属Element UI和 Ant Design Vue&#xff0c;但是前段时间遇到一个奇葩问题&#xff0c;在这里记录一下&#xff0c;防止小伙伴们踩坑。 后台系统&#xff0c;大家肯定都用过时间控件&#xff0c;本期我们使用的是ant design vue&…

网络-IP地址(嵌入式学习)

IP地址基本概念IPv4 五类&#xff1a;A B C D E特殊地址子网掩码子网号概念IPv6优势举个栗子基本概念 IP地址是Internet中主机的标识 IP地址&#xff08;Internet Protocol Address 互联网国际地址&#xff09;是一种在Internet上的给主机编址的方式&#xff0c;它主要是为互…

piwigo安装及初步使用

一 摘要 本文主要介绍piwigo 安装及初步使用&#xff0c;nginx \php\mysql 等使用 docker 安装 二 环境信息 2.1 操作系统 CentOS Linux release 7.9.2009 (Core)2.2 piwigo piwigo-13.6.0.zip三 安装 3.1安装资源下载 piwigo 请到官网下载https://piwigo.org 安装步骤也…

js非常的混乱怎么学才能入门呢?

前言 ES5还是要学的喔&#xff0c;里面有很多重要的概念&#xff0c;跟ES6有着很强的关联性&#xff0c;大致上包括&#xff1a; 变量声明 ES5 使用var关键字来声明变量&#xff0c;而 ES6 引入了 let 和 const 关键字&#xff0c;用于声明块级作用域的变量和常量。这些新的关…

MobPush创建推送

功能说明 MobPush提供遵循REST规范的HTTP接口&#xff0c;适用各开发语言环境调用。 IP绑定 工作台可以绑定服务器IP地址&#xff0c;未绑定之前所有IP均可进行REST API的调用&#xff0c;绑定后进仅绑定的IP才有调用权限。 调用地址 POSThttp://api.push.mob.com/v3/push/c…

坚鹏:《银行业数字化转型指导意见》政策解读及银行数字化转型

中国银保监会《关于银行业保险业数字化转型的指导意见》政策解读及银行数字化转型 课程背景&#xff1a; 很多银行存在以下问题&#xff1a; 不知道如何准确理解中国银保监会《关于银行业保险业数字化转型的指导意见》相关政策 不清楚中国银保监会《关于银行业保险业数字化…

TensorFlow 深度学习第二版:1~5

原文&#xff1a;Deep Learning with TensorFlow Second Edition 协议&#xff1a;CC BY-NC-SA 4.0 译者&#xff1a;飞龙 本文来自【ApacheCN 深度学习 译文集】&#xff0c;采用译后编辑&#xff08;MTPE&#xff09;流程来尽可能提升效率。 不要担心自己的形象&#xff0c;只…

L2-044 大众情人分数 25分

人与人之间总有一点距离感。我们假定两个人之间的亲密程度跟他们之间的距离感成反比&#xff0c;并且距离感是单向的。例如小蓝对小红患了单相思&#xff0c;从小蓝的眼中看去&#xff0c;他和小红之间的距离为 1&#xff0c;只差一层窗户纸&#xff1b;但在小红的眼里&#xf…

36岁大龄程序员被裁,找了2个月工作,年包从100万降到50万,要不要接?

为了找到工作&#xff0c;你愿意接受降薪多少&#xff1f; 一位36岁的杭州程序员问&#xff1a; 36岁被裁&#xff0c;找了2个月工作&#xff0c;年包从100万降到50万&#xff0c;真心纠结&#xff0c;要不要接&#xff1f; 网友们分成了旗帜鲜明的两派&#xff0c;一派人认为不…

【面试题】20个常见的前端算法题,你全都会吗?

现在面试中&#xff0c;算法出现的频率越来越高了&#xff0c;大厂基本必考 今天给大家带来20个常见的前端算法题&#xff0c;重要的地方已添加注释&#xff0c;如有不正确的地方&#xff0c;欢迎多多指正&#x1f495; 大厂面试题分享 面试题库 前后端面试题库 &#xff08;…

基于RDF本体模型和图数据库实现知识查询与推理

基于RDF本体模型和图数据库实现知识查询与推理 基于RDF本体模型和图数据库实现知识查询与推理一、案例本体模型解释二、数据构建与查询 Here’s the table of contents: 基于RDF本体模型和图数据库实现知识查询与推理 本文主要使用ONgDB图数据库和Neosemantics组件&#xff0c;…

运行时内存数据区之虚拟机栈——操作数栈

操作数栈 每一个独立的栈帧中除了包含局部变量表以外&#xff0c;还包含一个后进先出(Last-In-First-Out)的操作数栈&#xff0c;也可以称之为表达式栈(Expression Stack)。操作数栈&#xff0c;在方法执行过程中&#xff0c;根据字节码指令&#xff0c;往栈中写入数据或提取数…

《花雕学AI》06:抢先体验ChatGPT的九个国内镜像站之试用与综合评测

最近ChatGPT持续大火&#xff0c;大家们是不是在网上看到各种和ChatGPT有趣聊天的截图&#xff0c;奈何自己实力不够&#xff0c;被网络拒之门外&#xff0c;只能眼馋别人的东西。看别人在体验&#xff0c;看别人玩&#xff0c;肯定不如自己玩一把舒服的啊。 上一期&#xff0…

视图的使用

为什么引入视图&#xff08;Views&#xff09; 如果您读过其他类似的书&#xff0c;可能会看到这些书在介绍视图时列举了许多引入视图的原因。其中认为最重要的原因是维护数据的独立性。那么什么是数据的独立性呢&#xff1f; 早期信息系统的设计与开发多采用模块驱动方式&am…

如何使用Win10搭建我的世界Minecraft服务器

简单几步在windwos搭建我的世界服务器,并通过cpolar工具将本地服务暴露到公网连接 1. Java环境搭建 以windows10系统为例&#xff0c;配置java环境&#xff0c;搭建我的世界服务器,下载最新版java版本 Java Downloads | Oracle 选择exe文件&#xff0c;下载完成后双击安装包…