从零开始C++02-结构体

结构体

定义

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

结构体定义和使用

语法: struct 结构体名{ 结构体成员列表 };
在这里插入图片描述

创建方式3种

struct 结构体名 变量名
struct 结构体名 变量名={ 成员1值,成员2值… }
在定义结构体的时候,顺便创建结构体变量
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

然后再main函数里,就对s3赋值即可

结构体数组

作用

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

语法

在这里插入图片描述
这里结构体名的理解就是数据类型,类比创建int类型的数组
在这里插入图片描述

结构体指针

作用

通过指针访问结构体中的成员
利用操作符 -> 可以通过结构体指针,访问结构体属性
在这里插入图片描述
这里面如果不是结构体的话,以前使用* 号去访问,现在得到结构体的地址后,用地址再箭头一下他的属性即可得到想要的值。

结构体嵌套结构体

在这里插入图片描述

结构体做函数参数

作用

将结构体作为参数像函数中传递

方式

值传递,地址传递
在这里插入图片描述
在这里插入图片描述
值传递中,在函数里更改的形参值不改变实参的属性,地址传递中就可改变

总结

如果不想修改函数中的数据,就用值传递,反之地址传递。
将函数的形参改为指针的形式,会大幅度减少内存空间(首先指针也就四个字节,而且不会复制新的副本出来)

结构体与const

在这里插入图片描述

基于上方总结的跟这个结合着来。
这样写的好处,一是减少空间,二是不怕被修改,因为常量指针,是不允许修改指针所指向内容里的值。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值