news 2026/4/23 14:09:31

07. 结构体

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
07. 结构体

1.结构体简介

2.结构体的使用

3.结构体与类的区别


1.结构体简介

结构体(struct)是C++中用户自定义的复合数据类型,它允许你将不同类型的变量(比如intstringdouble)组合成一个 新的、有意义的整体;可以把它理解为一个"自定义数据包",用来封装一组相关联的数据(比如学生的学号、姓名、成绩)

2.结构体的使用

1).结构体的定义,"注意末尾分号不能省略"struct结构体名称{// 成员变量(可包含不同数据类型)数据类型 成员名1;数据类型 成员名2;// ... 更多成员};// 分号是必须的!
#include <iostream>#include <string>// 使用string类型需要包含此头文件usingnamespacestd;// 定义Student结构体,封装学生信息structStudent{intid;// 学号(整型)stringname;// 姓名(字符串)doublescore;// 成绩(浮点型)};// 切记分号!

2).结构体的基本使用 a.先定义后赋值intmain(){// 创建Student类型的变量stu1Studentstu1;// 给成员变量赋值stu1.id=1001;stu1.name="张三";stu1.score=95.5;// 输出成员变量cout<<"学号:"<<stu1.id<<endl;cout<<"姓名:"<<stu1.name<<endl;cout<<"成绩:"<<stu1.score<<endl;return0;}
b.定义时直接初始化(C++11及以上)intmain(){// 直接初始化结构体变量Studentstu2={1002,"李四",88.0};cout<<"学号:"<<stu2.id<<endl;cout<<"姓名:"<<stu2.name<<endl;cout<<"成绩:"<<stu2.score<<endl;return0;}
c.指定成员初始化intmain(){Studentstu3={.id=1003,.name="王五",.score=92.8};cout<<"学号:"<<stu3.id<<endl;cout<<"姓名:"<<stu3.name<<endl;cout<<"成绩:"<<stu3.score<<endl;return0;}

3.结构体与类的区别

C++中的struct不再只是"数据打包",而是具备类(class)的大部分特性,核心区别仅在于:a.struct的成员默认访问权限是publicb.class的成员默认访问权限是private
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/23 13:17:52

维普降AI别乱试,优先用这几款

维普AIGC检测高&#xff1f;6款工具帮你降到合格线 TL;DR&#xff1a;维普AIGC检测算法和知网不同&#xff0c;很多知网能过的工具在维普可能过不了。实测对维普效果最好的是嘎嘎降AI&#xff08;67%→9%&#xff09;&#xff0c;其次是比话降AI&#xff08;60%→12%&#xff0…

作者头像 李华
网站建设 2026/4/16 12:28:43

基于贝叶斯深度学习的雷达有源干扰识别方法

✅ 博主简介&#xff1a;擅长数据搜集与处理、建模仿真、程序设计、仿真代码、论文写作与指导&#xff0c;毕业论文、期刊论文经验交流。 ✅成品或者定制&#xff0c;扫描文章底部微信二维码。 (1) 雷达干扰信号建模与数据集制备方法 雷达系统在复杂电磁环境中面临着各种有源干…

作者头像 李华
网站建设 2026/4/22 15:43:20

CSS 新特性总结(附:var() 函数详解)

本文全面总结了CSS最新特性&#xff0c;涵盖选择器、布局、变量、动画等多个方面。 重点包括&#xff1a; 1&#xff09;CSS Selectors Level 4新增的关系选择器(:has)、逻辑组合选择器(:is/:where)等&#xff1b; 2&#xff09;布局增强如Flexbox的gap属性、Grid子网格和Mason…

作者头像 李华
网站建设 2026/4/23 13:17:06

SpringBoot:封装 starter

01 Starter 核心机制 SpringBoot 核心思想是约定大于配置&#xff0c;而 Starter 正是这一思想的核心落地载体。 简单来说&#xff0c;Starter 把某一类功能的依赖管理、默认配置、自动装配逻辑打包成一个独立 Jar 包。 项目只需引入这个 Jar 包&#xff0c;就能直接使用对应功…

作者头像 李华
网站建设 2026/4/16 6:50:38

STM32心率血氧手环(可报警)

目录硬件设计传感器技术软件算法应用场景开发资源源码文档获取/同行可拿货,招校园代理 &#xff1a;文章底部获取博主联系方式&#xff01;硬件设计 STM32心率血氧手环通常基于STM32微控制器&#xff08;如STM32F4或STM32L4系列&#xff09;&#xff0c;搭配光学传感器模块&am…

作者头像 李华
网站建设 2026/3/5 18:14:45

2026年选择敏捷咨询机构:从“工具应用”到“价值落地”的转型关键

在VUCA时代&#xff0c;企业对敏捷的需求早已超越Scrum会议、看板工具的表层应用&#xff0c;转向全价值链的效率提升与组织能力重塑。2026年&#xff0c;随着数字化转型进入深水区&#xff0c;敏捷咨询机构的核心价值不再是简单传授方法论&#xff0c;而是帮助企业破解“敏捷落…

作者头像 李华