C++学习笔记25——结构体的定义和使用,结构体数组,结构体指针
结构体
结构体的基本概念
结构体属于用户自定义的数据类型,允许用户存储不同的数据类型
结构体的定义和使用
语法:struct 结构体名 {结构体成员列表};
通过结构体创建变量的方式有三种:
struct 结构体名 变量名
struct 结构体名 变量名 = {成员1值,成员2值…}
定义结构体时顺便创建变量
示例:
#include <iostream>
using namespace std;//1.创建学生数据类型:包括姓名 年龄 分数
struct Student {//成员列表string name;int age;int score;
}s3;
//2.通过学生类型创建具体学生int main(){//1.struct Student s1;//s1属性赋值,通过.访问结构体变量中的属性s1.name = "张三";s1.age = 18;s1.score = 100;cout << "姓名:" << s1.name << " 年龄:"<< s1.age<<" 分数:"<<s1.score <<endl;//2.struct Student s2 = {"李四",20,80};cout << "姓名:" << s2.name << " 年龄:" << s2.age << " 分数:" << s2.score << endl;//3.s3.name = "王五";s3.age = 17;s3.score = 95;cout << "姓名:" << s3.name << " 年龄:" << s3.age << " 分数:" << s3.score << endl;system("pause");return 0;
}
总结:1.定义结构体时的关键字struct,不可省略
2.创建结构体变量时,关键字struct可以省略
3.结构体变量利用操作符"."访问成员
结构体数组
作用:将自定义的结构体放入到数组中方便维护
语法:struct 结构体名 数组名[元素个数] = {{},{},...{}}
示例:
#include <iostream>
#include <string>
using namespace std;//结构体数组
//1.定义一个结构体:包括姓名 年龄 分数
struct Student {//成员列表string name;int age;int score;
};int main(){//创建结构体数组struct Student stuArray[3] = { {"张三",18,100},{"李四",20,80},{"王五",17,95} };//给结构体数组中的元素赋值stuArray[2].name = "赵六";stuArray[2].age = 80;stuArray[2].score = 60;//4.遍历结构体数组for (int i = 0; i < 3; i++) {cout << "姓名:" << stuArray[i].name << " 年龄:" << stuArray[i].age << " 分数:" << stuArray[i].score << endl;}system("pause");return 0;
}
运行结果:
结构体指针
作用:通过指针访问结构体中的成员
利用操作符->
可以通过结构体指针访问结构体属性
示例:
#include <iostream>
#include <string>
using namespace std;//结构体指针
//1.定义一个结构体:包括姓名 年龄 分数
struct Student {//成员列表string name;int age;int score;
};int main(){//创建结构体变量struct Student s = { "张三",18,100 };//通过指针指向结构体变量Student* p = &s;//指针的数据类型应该是自己定义的结构体//通过指针访问结构体变量cout << "姓名:" << p->name << " 年龄:" << p->age << " 分数:" << p->score << endl;system("pause");return 0;
}
运行结果:
C++学习笔记25——结构体的定义和使用,结构体数组,结构体指针相关推荐
- Java基础学习笔记(基本规范、变量定义、运算符、分支/循环结构、函数)
文章目录 Java概述与环境搭建 Java历史 Java语言特点 Java执行机制 安装jdk 环境变量配置 乱码问题解决 基本规范 简单Java代码 编译运行 注释 语法规则 变量类型 声明方式 基 ...
- Go 学习笔记(11)— 切片定义、切片初始化、数组和切片差异、字符串和切片转换、len()、cap()、空 nil 切片、append()、copy() 函数、删除切片元素
1. 切片定义 Go 语言切片是对数组的抽象. Go 中提供了一种灵活,功能强悍的内置类型切片("动态数组"),与数组相比切片的长度是不固定的,可以追加元素,在追加时可能使切片的容 ...
- cocos2d-x 学习笔记(1)关于cocos2d-x(环境配置,项目结构,文件说明)
cocos2d-x 学习笔记(1)关于cocos2d-x(环境配置,项目结构,文件说明) 1.问:什么是cocos2d-x? 是一套开放源代码,主要基于c,c++语言,针对windows,linux, ...
- 【学习笔记】C++语言程序设计(郑莉):数组、指针与字符串
[学习笔记]C++语言程序设计(郑莉):数组.指针与字符串 1. 数组 1.1 数组的声明与使用 1.2 数组的存储与初始化 1.3 数组作为函数参数 1.4 对象数组 2. 指针 2.1 内存空间的 ...
- 影像组学视频学习笔记(25)-查看准确度、灵敏度、特异度及混淆矩阵、Li‘s have a solution and plan.
本笔记来源于B站Up主: 有Li 的影像组学系列教学视频 本节(25)主要讲解: 通过sklearn包输出准确度.灵敏度.特异度及混淆矩阵 基本概念 代码实现 from sklearn.metrics ...
- php自学目录,PHP学习笔记(二) 了解PHP的基本语法以及目录结构
通过这节课, 1.了解AppServ的目录结构 2.我们可以了解PHP的基本语法结构 1 我的AppServ安装目录是E盘: ①运用命令行的方式去操作apache服务器 apache服务器的开启和关闭 ...
- 标C编程笔记day04 预处理、宏定义、条件编译、makefile、结构体使用
预处理:也就是包括须要的头文件,用#include<标准头文件>或#include "自己定义的头文件" 宏定义,如:#define PI 3.1415926 查看用宏 ...
- 【OS学习笔记】九 实模式:从汇编的角度理解栈结构
上一篇文章以一种更加高效的方法编写了主引导扇区的代码.主要是引入了循环和跳转指令.点击链接查看上一篇文章:编写主引导扇区代码-另一种更高效的写法 本篇文章,继续上一篇文章的学习.同样还是编写汇编代码加 ...
- Windows 8 Directx 开发学习笔记(九)材质定义及混合光照效果实现
在真实环境中,同一个物体在不同光源照射下的颜色并不一样,因为物体本身并没有颜色,而是它会反射不同颜色的光.物体对不同颜色光的吸收率.反射率,加上光泽度.透明度等其他物理属性组合在一起,定义了这个物体的 ...
最新文章
- python 执行文件内容_python执行文件
- php header 文件大小,php获取远程文件大小及信息的函数(head_php
- 大型企业Exchange 2010部署方案 – 分割全局地址列表
- oracle 检查链接数,oracle连接数检查
- Java基础系列1-Java语言概述
- y的花式写法_26字母的花式写法可复制 也叫圆体字写法如下一基本规则
- web安全工具库(笔记)----端口扫描(端口扫描器.exe)
- matlab输入二项分布函数,MATLAB如何使用binornd函数生成二项分布随机数
- GEE:Goometry几何图形的地理图形与平面图形
- selenum登录163邮箱
- Vulnhub——JANGOW: 1.0.1
- 计算机专业为什么学那么多数学,计算机专业为什么要学习数学详解.pptx
- iPhone 13细节曝光:苹果终要解决最大短板
- R语言 forestplot 包画森林图
- rfid连接mysql_如何实现 RFID 数据与数据库连接?
- biosrecovery什么意思_BIOS是什么意思``
- 老子兵法—柔情似水篇
- Hadoop分布式集群环境准备--无线网下VMware虚拟机设置
- 张飞电子工程师速成视频教程百度云_电气工程师张飞电子工程师速成 硬件设计与开发 视频教程 第二部 (价值98元) | 吾爱楼52Lou...
- mifareclassictool苹果版_Mifare Classic Tool经典版app