当前位置: 首页 > news >正文

【C++笔记】八、结构体 [ 1 ]

8.1 结构体基本概念

结构体属于用户自定义的数据类型,允许用户存储不同的数据类型。

8.2 结构体定义和使用

语法:struct 结构体名 { 结构体成员列表 } ;

struct Student
{//成员列表//姓名string name;//年龄int age;//分数int score;
}

通过结构体创建变量的方式有三种:

  1. struct结构体名 变量名
	// 2.1 struct Student s1struct Student s1;//给s1属性赋值,通过.访问结构体变量中的属性s1.name="张三";s1.age = 18;s1.score = 100;cout << "姓名:" << s1.name << "年龄:" << s1.age << "分数:" << s1.score << endl;
  1. struct结构体名 变量名 = { 成员1值 , 成员2值... }
// 2.2 struct Student s2 ={ ...  };struct Student s2 = { "李四" ,19, 80};cout << "姓名:" << s2.name << "年龄:" << s2.age << "分数:" << s2.score << endl;
  1. 定义结构体时顺便创建变量
struct Student
{//成员列表//姓名string name;//年龄int age;//分数int score;
}s3;//顺便创建结构体数据

第一第二种较为常用,第三种可读性较低。

总结1: 定义结构体时的关键字是struct,不可省略。

总结2: 创建结构体变量时,关键字struct可以省略。

总结3: 结构体变量利用操作符 “.” 访问成员。

代码:

#define _CRT_SECURE_NO_WARNINGS 1
#include<iostream>
using namespace std;
#include<string>//1、创建学生数据类型 :学生包括(姓名,年龄,分数)
//自定义数据类型,一些类型集合组成的一个类型
//语法 struct 类型名称{ 成员列表 }
struct Student
{//成员列表//姓名string name;//年龄int age;//分数int score;
}s3;//顺便创建结构体数据// 2、通过学生类型创建具体学生int main()
{// 2.1 struct Student s1struct Student s1;//给s1属性赋值,通过.访问结构体变量中的属性s1.name="张三";s1.age = 18;s1.score = 100;cout << "姓名:" << s1.name << "年龄:" << s1.age << "分数:" << s1.score << endl;// 2.2 struct Student s2 ={ ...  };struct Student s2 = { "李四" ,19, 80};cout << "姓名:" << s2.name << "年龄:" << s2.age << "分数:" << s2.score << endl;//2.3 在定义绍构体时顺便创建结构体变量s3.name = "王五";s3.age = 20;s3.score = 60;cout << "姓名:" << s3.name << "年龄:" << s3.age << "分数:" << s3.score << endl;system("pause");return 0;
}

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • ALSA ubuntu 编译
  • 如何安装和注册 GitLab Runner
  • 2018年国赛高教杯数学建模C题大型百货商场会员画像描绘解题全过程文档及程序
  • Kafka性质小结
  • FutureTask源码分析
  • 江科大笔记—STM32课程简介
  • 杭州电子科技大学《2020年+2021年861自动控制原理真题》 (完整版)
  • nginx基础篇(一)
  • docker-compose up 报错:KeyError: ‘ContainerConfig‘
  • python学习第十节:爬虫基于requests库的方法
  • 什么是区块链,以及应用场景
  • 钉钉与MySQL对接集成获取部门列表2.0打通EXECUTE语句
  • STM32——输入捕获
  • 工业一体机在汽车零部件工厂ESOP系统中的关键作用
  • mysql事务的隔离级别学习
  • 【402天】跃迁之路——程序员高效学习方法论探索系列(实验阶段159-2018.03.14)...
  • 【css3】浏览器内核及其兼容性
  • angular2开源库收集
  • CentOS 7 防火墙操作
  • iOS编译提示和导航提示
  • Javascript 原型链
  • mongo索引构建
  • rc-form之最单纯情况
  • REST架构的思考
  • SwizzleMethod 黑魔法
  • 使用common-codec进行md5加密
  • 收藏好这篇,别再只说“数据劫持”了
  • - 语言经验 - 《c++的高性能内存管理库tcmalloc和jemalloc》
  • 原生js练习题---第五课
  • raise 与 raise ... from 的区别
  • 交换综合实验一
  • ​Distil-Whisper:比Whisper快6倍,体积小50%的语音识别模型
  • #13 yum、编译安装与sed命令的使用
  • #window11设置系统变量#
  • #进阶:轻量级ORM框架Dapper的使用教程与原理详解
  • (~_~)
  • (Java企业 / 公司项目)点赞业务系统设计-批量查询点赞状态(二)
  • (k8s中)docker netty OOM问题记录
  • (Repost) Getting Genode with TrustZone on the i.MX
  • (solr系列:一)使用tomcat部署solr服务
  • (第一天)包装对象、作用域、创建对象
  • (附源码)ssm户外用品商城 毕业设计 112346
  • (附源码)ssm基于jsp高校选课系统 毕业设计 291627
  • (十五)devops持续集成开发——jenkins流水线构建策略配置及触发器的使用
  • (一)appium-desktop定位元素原理
  • (一)utf8mb4_general_ci 和 utf8mb4_unicode_ci 适用排序和比较规则场景
  • (原)记一次CentOS7 磁盘空间大小异常的解决过程
  • (原创)攻击方式学习之(4) - 拒绝服务(DOS/DDOS/DRDOS)
  • (转) ns2/nam与nam实现相关的文件
  • *ST京蓝入股力合节能 着力绿色智慧城市服务
  • ./configure,make,make install的作用(转)
  • .Net Core 生成管理员权限的应用程序
  • .net dataexcel 脚本公式 函数源码
  • .NET Framework 3.5中序列化成JSON数据及JSON数据的反序列化,以及jQuery的调用JSON
  • .NET Micro Framework初体验(二)