首页 > 编程语言 >C++—结构体

C++—结构体

时间:2023-08-27 22:15:34浏览次数:51  
标签:总结 体名 C++ 传递 体中 结构 struct

8 结构体

8.1 结构体基本概念

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

8.2 结构体定义和使用

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

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

  • struct 结构体名 变量名
  • struct 结构体名 变量名 =
  • 定义结构体时顺便创建变量

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

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

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

8.3 结构体数组

作用:将自定义的结构体放入到数组中方便维护

语法: struct 结构体名 数组名[元素个数] = { {} , {} , ... {} }

8.4 结构体指针

作用:通过指针访问结构体中的成员

  • 利用操作符 -> 可以通过结构体指针访问结构体属性

总结:结构体指针可以通过 -> 操作符 来访问结构体中的成员

8.5 结构体嵌套结构体

作用: 结构体中的成员可以是另一个结构体

例如:每个老师辅导一个学员,一个老师的结构体中,记录一个学生的结构体

总结:在结构体中可以定义另一个结构体作为成员,用来解决实际问题

8.6 结构体做函数参数

作用:将结构体作为参数向函数中传递

传递方式有两种:

  • 值传递
  • 地址传递

总结:如果不想修改主函数中的数据,用值传递,反之用地址传递

8.7 结构体中 const使用场景

作用:用const来防止误操作

标签:总结,体名,C++,传递,体中,结构,struct
From: https://www.cnblogs.com/ljh2487/p/17660968.html

相关文章

  • C++基础
    一、具备的基础变量(variables):类型(types):int,float,char,struct...作用域(scope)循环(loops):while,for流程控制:if-else,switch-case知道一个程序需要编译、连结才能被执行知道如何编译和连接(如何建立一个可运行程序)二、应当养成正规的、大气的编程习惯以良好的方式编写C++classObj......
  • Java流程控制循环结构while和do...while
    循环结构主要有三种:while循环,do...while循环,for循环,在java5中引入了一种主要用于数组的增强型for循环while是最基本的循环,结构为:while(布尔表达式){//循环内容}只要布尔表达式为true,循环就会一直执行下去我们大多数情况是会让循环停下来的,我们需要一个表达式来结......
  • C++—程序流程结构
    4程序流程结构C/C++支持最基本的三种程序运行结构:顺序结构、选择结构、循环结构顺序结构:程序按顺序执行,不发生跳转选择结构:依据条件是否满足,有选择的执行相应功能循环结构:依据条件是否满足,循环多次执行某段代码4.1选择结构4.1.1if语句作用:执行满足条件的语句if语句的......
  • C++—指针
    7指针7.1指针的基本概念指针的作用:可以通过指针间接访问内存内存编号是从0开始记录的,一般用十六进制数字表示可以利用指针变量保存地址7.2指针变量的定义和使用指针变量定义语法:数据类型*变量名;指针变量和普通变量的区别普通变量存放的是数据,指针变量存放......
  • C++—数组
    5数组5.1概述所谓数组,就是一个集合,里面存放了相同类型的数据元素特点1:数组中的每个数据元素都是相同的数据类型特点2:数组是由连续的内存位置组成的5.2一维数组5.2.1一维数组定义方式一维数组定义的三种方式:数据类型数组名[数组长度];数据类型数组名[数组长度......
  • C++—函数
    6函数6.1概述作用:将一段经常使用的代码封装起来,减少重复代码一个较大的程序,一般分为若干个程序块,每个模块实现特定的功能。6.2函数的定义函数的定义一般主要有5个步骤:1、返回值类型2、函数名3、参数表列4、函数体语句5、return表达式语法:返回值类型函数名(参数列......
  • C++初识
    1.1注释作用:在代码中加一些说明和解释,方便自己或其他程序员程序员阅读代码两种格式单行注释://描述信息通常放在一行代码的上方,或者一条语句的末尾,对该行代码说明多行注释:/*描述信息*/通常放在一段代码的上方,对该段代码做整体说明提示:编译器在编译代码时,会忽......
  • Educational Codeforces Round 152 (Rated for Div. 2)E. Max to the Right of Min(数
    题目链接:https://codeforces.com/problemset/problem/1849/E 大致题意: 长度为n的序列,求有多少个区间满足区间最大值在区间最小值的右边? 解题思路: (此题有使用线段树等其他做法,本处使用的是单调栈做法) 我们先求出每个a【i】的左边的比他小的LMIN,左边比他大的LMAX,右......
  • C++空类中有哪些成员函数?
    一共有6个成员函数。1.构造函数2.拷贝构造函数3.析构函数4.赋值运算符5.取址运算符6.取值运算符const1#include<iostream>2usingnamespacestd;34classEmpty5{6Empty();//构造函数7Empty(Empty&);//拷贝构造函数8~Empty();......
  • 操作系统学习笔记(二)——操作系统结构
    一、内核作为应用和硬件设备之间的桥梁,负责应用程序只与内核交互,不用关心硬件的细节。4个基本能力:管理进程、线程,决定哪个进程、线程使用CPU,也就是进程调度的能力;管理内存,决定内存的分配和回收,也就是内存管理的能力;管理硬件设备,为进程与硬件设备之间提供通信能力,也就是硬......