14.C++程序中的结构体

最近工作比较忙,好几个项目以及其它的杂事要处理,就不太想写什么东西了。

结构体是 C++ 中的一种数据结构,用于将多个不同类型的数据组合在一起,形成一个新的数据类型。结构体可以包含任意类型的成员变量,也可以包含函数成员。结构体定义了一种自定义的数据类型,可以通过声明结构体变量来使用。

首先,我们可以通过以下代码定义一个结构体:

struct Student {int id;std::string name;int age;float score;
};

上述代码定义了一个名为Student的结构体,其中包含了id、name、age和score四个成员变量。id和age是整数类型,name是字符串类型,score是浮点数类型。

接下来,我们可以使用该结构体创建多个结构体变量,每个变量代表一个学生:

Student student1;
student1.id = 1;
student1.name = "Andy";
student1.age = 8;
student1.score = 90.5;Student student2;
student2.id = 2;
student2.name = "LEO";
student2.age = 9;
student2.score = 95.0;

上述代码创建了两个学生对象student1和student2,并为它们的成员变量赋值。

结构体变量的成员可以通过.操作符来访问和修改。例如,可以使用以下代码输出学生的信息:

std::cout << "学生信息:" << std::endl;
std::cout << "学号:" << student1.id << std::endl;
std::cout << "姓名:" << student1.name << std::endl;
std::cout << "年龄:" << student1.age << std::endl;
std::cout << "成绩:" << student1.score << std::endl;

除了单独定义结构体变量,我们还可以定义数组或容器来存储多个结构体对象。例如,可以使用以下代码定义一个存储学生的数组,并遍历输出每个学生的信息:

Student students[3];students[0].id = 1;
students[0].name = "Andy";
students[0].age = 8;
students[0].score = 90.5;students[1].id = 2;
students[1].name = "TOM";
students[1].age = 9;
students[1].score = 95.0;students[2].id = 3;
students[2].name = "LEO";
students[2].age = 10;
students[2].score = 92.5;for (int i = 0; i < 3; i++) {std::cout << "学生" << i+1 << "信息:" << std::endl;std::cout << "学号:" << students[i].id << std::endl;std::cout << "姓名:" << students[i].name << std::endl;std::cout << "年龄:" << students[i].age << std::endl;std::cout << "成绩:" << students[i].score << std::endl;std::cout << std::endl;
}

通过结构体,我们可以将不同类型的数据组合在一起,方便地表示和操作多个相关的数据。

结构体的具体使用,以后在涉及到的时候再详细讲解。

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

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

相关文章

uni-app 开发的应用快速构建成鸿蒙原生应用

uni-app 是一个使用 Vue.js 开发所有前端应用的框架&#xff0c;它支持编译到 iOS、Android、小程序等多个平台。对于 HarmonyOS&#xff08;鸿蒙系统&#xff09;&#xff0c;uni-app 提供了特定的支持&#xff0c;允许开发者构建鸿蒙原生应用。 一、uni-app 对 HarmonyOS 的支…

【C语言教程】【常用类库】(三)输入输出库 - <stdio.h>

3. 输入输出库 - <stdio.h> <stdio.h> 是C语言中进行文件和标准输入输出操作的核心库。通过对该库函数和操作的应用&#xff0c;程序可以和用户进行交互、读写文件并处理各种形式的数据流。 3.1. 基础输入输出 3.1.1. printf 和 scanf printf: 主要用于在标准输…

UE5 C++ 通过绑定编辑器事件实现控制柄顶点编辑

开发中经常会遇到编辑器环境中制作工具拖拽控制柄编辑内容的需求&#xff0c;此时可以通过Editor事件拿到对应回调&#xff0c;进行相应更新&#xff1a; 1.创建Mesh编辑Actor类 创建一个Mesh编辑Actor类&#xff0c;提供Mesh顶点编辑的相关逻辑。 .h: #pragma once#inclu…

Mac上强大的菜单栏管理工具

想要Mac用的好&#xff0c;各种工具少不了&#xff0c;一款好用的软件对于提高使用效率和使用舒适度来说非常必要&#xff0c;iBar-强大的菜单栏图标管理工具 随着 Mac 运行的软件增加&#xff0c;状态栏中的图标也越来越多&#xff0c;不仅看得眼花缭乱&#xff0c;而且刘海屏…

KEFK 架构实时数据处理

一、概述 在大数据和实时数据分析的领域&#xff0c;构建高效、低延迟的数据处理架构至关重要。KEFK 架构是应对这些挑战的一种现代化技术栈&#xff0c;结合了分布式消息系统、实时流处理引擎、搜索引擎和数据可视化工具。本文将从 KEFK 架构的概念、优势及其与传统数据处理架…

开发一个UniApp需要多长时间

开发一个UniApp所需的时间因项目的规模、复杂度、开发团队的经验水平以及开发过程中的需求变更等多种因素而异。因此&#xff0c;很难给出一个确切的时间范围。然而&#xff0c;我们可以从以下几个方面来大致估算开发时间&#xff1a; 项目规划与需求分析&#xff1a; 在项目开…

【网络安全】账户安全随笔

未经许可,不得转载。 作者:Enoch 原文出处:https://mp.weixin.qq.com/s/oKBpZ0F6Kl5NNmHSYCYIPw 文章目录 账户类型资金划转问题幂等ID使用错误多接口并发问题精度问题其他划转问题特殊资金盗取问题科学计数法问题账户类型 在互联网金融和电商企业中,账户安全直接关系到用…

Fetch 与 Axios:JavaScript HTTP 请求库的详细比较

&#x1f49d;&#x1f49d;&#x1f49d;欢迎莅临我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐&#xff1a;「storm…

基于SpringBoot民宿预订系统小程序【附源码】

效果如下&#xff1a; 管理员登录界面 管理员功能界面 用户管理界面 房东管理界面 小程序首页界面 民宿房间界面 功能界面 研究背景 随着旅游业的蓬勃发展和人们对旅行体验的不断追求&#xff0c;民宿作为一种独特的住宿方式&#xff0c;因其个性化、温馨及富含地方特色的服务…

机器学习中的模型设计与训练流程详解

目录 前言1. 模型设计1.1 数据特性分析1.2 计算资源限制1.3 应用场景需求 2. 模型训练2.1 训练集与验证集的划分2.2 损失函数的选择2.3 模型参数更新 3. 优化方法3.1 梯度下降法3.2 正则化方法 4. 模型测试4.1 性能评估指标4.2 模型的泛化能力 5. 模型选择5.1 数据规模与模型复…

matlab不小心删除怎么撤回

预设项——>删除文件——>移动至临时文件夹 tem临时文件夹下

鸿蒙开发之ArkUI 界面篇 三十五 容器组件Tabs 切换高亮

好多app都有切换点中的时候高亮效果&#xff0c;如下图所示&#xff1a; 改变的是什么呢&#xff1f;是字体的颜色、背景图&#xff0c;不是切换到的界面&#xff0c;又恢复到默认的图片和字体颜色&#xff0c;而鸿蒙中更新界面的值需要使用State修饰&#xff0c;Tabs提供了onC…

Linux环境通过APT 仓库安装版PostgreSQL 数据库实战

Linux环境通过APT 仓库安装版PostgreSQL 数据库是运维人员常见的需求之一&#xff0c;今天我们一步一步演示一下&#xff1a; 1、添加 PostgreSQL APT 仓库 确保你的系统更新&#xff0c;然后添加 PostgreSQL 的官方 APT 仓库。 sudo apt update sudo apt install -y wget w…

【动手学深度学习】6.4 多输入多输出通道

彩色图像具有标准的RBG通道来代表红绿蓝&#xff0c;但是到目前位置我们仅展示了单个输入和单个通道的简化例子。这使得我们可以将输入&#xff0c;卷积核和输出看作二维张量而当我们添加通道时&#xff0c;输入和隐藏表示都变成了三维张量。例如每个RGB输入图像都具有 3 h …

QD1-P5 HTML 段落标签(p)换行标签(br)

本节视频 www.bilibili.com/video/BV1n64y1U7oj?p5 ‍ 本节学习 HTML 标签&#xff1a; p标签 段落br标签 换行 ‍ 一、p 标签-段落 1.1 使用 p 标签划分段落 <p>段落文本</p>示例 <!DOCTYPE html> <html><head><meta charset"…

Windows11系统下Sentinel环境搭建教程

目录 前言Sentinel简介Sentinel下载安装Sentinel配置与启动总结 前言 本文为博主在项目环境搭建时记录的Sentinel安装流程&#xff0c;希望对大家能够有所帮助&#xff0c;不足之处欢迎批评指正&#x1f91d;&#x1f91d;&#x1f91d; Sentinel简介 github主页地址 &#x…

电脑查不到IP地址是什么原因?怎么解决

在日常使用电脑的过程中&#xff0c;有时会遇到无法查询到电脑IP地址的情况&#xff0c;这可能会影响到网络的正常使用。本文将探讨电脑查不到IP地址的可能原因&#xff0c;并提供相应的解决方案。 一、原因分析 ‌网络连接问题‌&#xff1a;首先&#xff0c;网络连接不稳定或…

中间件:SpringBoot集成Redis

一、Redis简介 Redis是一个开源的、基于内存的数据结构存储系统&#xff0c;它可以用作数据库、缓存和消息中间件。Redis支持多种类型的数据结构&#xff0c;如字符串&#xff08;strings&#xff09;、哈希&#xff08;hashes&#xff09;、列表&#xff08;lists&#xff09…

服务器数据恢复—EMC存储RAID5磁盘阵列数据恢复案例

服务器数据恢复环境&#xff1a; 一台EMC某型号存储设备&#xff0c;该存储中有一组由12块&#xff08;包括2块热备盘&#xff09;STAT硬盘组建的raid5阵列。 服务器故障&#xff1a; 该存储在运行过程中突然崩溃&#xff0c;raid瘫痪。数据恢复工程师到达现场对故障存储设备进…

点云数据与多相机图像融合实现3D场景的彩色可视化

引言 在现代3D计算机视觉和机器人感知领域&#xff0c;点云数据和图像信息的融合正变得越来越重要。点云数据提供了精确的几何结构&#xff0c;而图像则包含了丰富的颜色和纹理细节。将这两种数据源结合起来&#xff0c;我们能够创建更加逼真和信息丰富的3D场景表示。本文将深…