25 结构体

1、结构体的声明

1.结构体的基础知识

结构是一些值的集合,这些值被称为成员变量。每个成员可以是不同类型的变量。

数组是一组相同类型元素的集合

2.结构的声明

55824d12639a4c32ae3665807f99ad0b.jpg

{ }里面是成员列表,外面是变量列表,变量列表可以不写但是分号不能丢

00555d8dcfde453780c4707e42c7b383.jpg

3.结构成员的类型

可以是标量、数组、指针,甚至是其他结构体  (结构体的嵌套)

4.结构体变量的定义和初始化

先声明类型,后创建变量

声明类型:

6821f52ab09f4550b3284e676549d0e8.jpg

创建变量:

cc07083706ae4c459b45e570864c2d17.jpg

这样创建的p1变量是局部变量

如果在声明类型的后面直接创建变量的话是全局变量:

d1768f3836e54a3794688d35c46ed73d.jpg

结构体嵌套初始化:

997907f813dc407799eff2086cb67dba.jpg

这里声明了一个st类型的结构体,在这个里面嵌套了一个peo类型的结构体(已经声明过了)

下面的p1和s叫结构体变量

因为s是嵌套结构体,所以里面的p也要加上{ }

3.14f:因为小数默认是double类型,加了f就是float类型了

2、结构体成员的访问

有两种访问方法:

一种是结构体变量.成员

一种是结构体指针->成员

732e80dc32464c1696b4e5675d4ee662.jpg

先看主函数,想把结构体变量打印下来,可以直接在主函数中打印,此时直接用.操作符即可

注意结构体嵌套需要一层一层写如s.p.name

也可以传参,当传的是实参时,还是用.操作符

当传的是地址是,需要创建指针来接收,此时就要用结构体指针->成员变量来访问成员列表了

3、结构体传参

ad94ab7922cd4329b94dd38aec423b75.jpg

print2更好一点,也就是说结构体在传参过程中最好是传地址

因为:

1.若结构体占空间大,形参拷贝一份会浪费空间。

2.有时候需要对结构体实参进行赋值操作,print1无法做到

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值