结构体

结构体的基本概念

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

结构体的定义和使用

语法: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——结构体的定义和使用,结构体数组,结构体指针相关推荐

  1. Java基础学习笔记(基本规范、变量定义、运算符、分支/循环结构、函数)

    文章目录 Java概述与环境搭建 Java历史 Java语言特点 Java执行机制 安装jdk 环境变量配置 乱码问题解决 基本规范 简单Java代码 编译运行 注释 语法规则 变量类型 声明方式 基 ...

  2. Go 学习笔记(11)— 切片定义、切片初始化、数组和切片差异、字符串和切片转换、len()、cap()、空 nil 切片、append()、copy() 函数、删除切片元素

    1. 切片定义 Go 语言切片是对数组的抽象. Go 中提供了一种灵活,功能强悍的内置类型切片("动态数组"),与数组相比切片的长度是不固定的,可以追加元素,在追加时可能使切片的容 ...

  3. cocos2d-x 学习笔记(1)关于cocos2d-x(环境配置,项目结构,文件说明)

    cocos2d-x 学习笔记(1)关于cocos2d-x(环境配置,项目结构,文件说明) 1.问:什么是cocos2d-x? 是一套开放源代码,主要基于c,c++语言,针对windows,linux, ...

  4. 【学习笔记】C++语言程序设计(郑莉):数组、指针与字符串

    [学习笔记]C++语言程序设计(郑莉):数组.指针与字符串 1. 数组 1.1 数组的声明与使用 1.2 数组的存储与初始化 1.3 数组作为函数参数 1.4 对象数组 2. 指针 2.1 内存空间的 ...

  5. 影像组学视频学习笔记(25)-查看准确度、灵敏度、特异度及混淆矩阵、Li‘s have a solution and plan.

    本笔记来源于B站Up主: 有Li 的影像组学系列教学视频 本节(25)主要讲解: 通过sklearn包输出准确度.灵敏度.特异度及混淆矩阵 基本概念 代码实现 from sklearn.metrics ...

  6. php自学目录,PHP学习笔记(二) 了解PHP的基本语法以及目录结构

    通过这节课, 1.了解AppServ的目录结构 2.我们可以了解PHP的基本语法结构 1 我的AppServ安装目录是E盘: ①运用命令行的方式去操作apache服务器 apache服务器的开启和关闭 ...

  7. 标C编程笔记day04 预处理、宏定义、条件编译、makefile、结构体使用

    预处理:也就是包括须要的头文件,用#include<标准头文件>或#include "自己定义的头文件" 宏定义,如:#define PI 3.1415926 查看用宏 ...

  8. 【OS学习笔记】九 实模式:从汇编的角度理解栈结构

    上一篇文章以一种更加高效的方法编写了主引导扇区的代码.主要是引入了循环和跳转指令.点击链接查看上一篇文章:编写主引导扇区代码-另一种更高效的写法 本篇文章,继续上一篇文章的学习.同样还是编写汇编代码加 ...

  9. Windows 8 Directx 开发学习笔记(九)材质定义及混合光照效果实现

    在真实环境中,同一个物体在不同光源照射下的颜色并不一样,因为物体本身并没有颜色,而是它会反射不同颜色的光.物体对不同颜色光的吸收率.反射率,加上光泽度.透明度等其他物理属性组合在一起,定义了这个物体的 ...

最新文章

  1. python 执行文件内容_python执行文件
  2. php header 文件大小,php获取远程文件大小及信息的函数(head_php
  3. 大型企业Exchange 2010部署方案 – 分割全局地址列表
  4. oracle 检查链接数,oracle连接数检查
  5. Java基础系列1-Java语言概述
  6. y的花式写法_26字母的花式写法可复制 也叫圆体字写法如下一基本规则
  7. web安全工具库(笔记)----端口扫描(端口扫描器.exe)
  8. matlab输入二项分布函数,MATLAB如何使用binornd函数生成二项分布随机数
  9. GEE:Goometry几何图形的地理图形与平面图形
  10. selenum登录163邮箱
  11. Vulnhub——JANGOW: 1.0.1
  12. 计算机专业为什么学那么多数学,计算机专业为什么要学习数学详解.pptx
  13. iPhone 13细节曝光:苹果终要解决最大短板
  14. R语言 forestplot 包画森林图
  15. rfid连接mysql_如何实现 RFID 数据与数据库连接?
  16. biosrecovery什么意思_BIOS是什么意思``
  17. 老子兵法—柔情似水篇
  18. Hadoop分布式集群环境准备--无线网下VMware虚拟机设置
  19. 张飞电子工程师速成视频教程百度云_电气工程师张飞电子工程师速成 硬件设计与开发 视频教程 第二部 (价值98元) | 吾爱楼52Lou...
  20. mifareclassictool苹果版_Mifare Classic Tool经典版app

热门文章

  1. MVC设计模式及其工作原理
  2. Elasticsearch常见错误及解决方法
  3. 填字游戏-回溯法-Python
  4. ctfshow-命令执行
  5. HDU 4741 Save Labman No.004(计算几何)
  6. 干式电抗器gim模型要求
  7. html canvas保存为图片,在HTML5 Canvas中放入图片和保存为图片的方法
  8. 成长就是从认识到自己的无知而开始的
  9. 恐惧 android游戏,恐惧之间游戏-恐惧之间安卓版最新预约v1.0-游迅网
  10. Kali-密码生成工具-crunch