2021-12-9 C语言的结构体-初阶

本文详细介绍了C语言中结构体的声明、成员访问以及结构体在函数传参中的使用。结构体可以包含多种类型的数据成员,并通过点操作符(.).进行访问。对于结构体参数传递,推荐使用指针方式以减少内存开销,提高程序效率。理解这些概念对于C语言编程至关重要。
摘要由CSDN通过智能技术生成

结构体
结构体类型的声明
结构体初始化
结构体成员访问
结构体传参

1. 结构体的声明

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

 

结构的成员可以是标量、数组、指针,甚至是其他结构体。

 

 

 

 

2. 结构体成员的访问 

结构体变量访问成员
结构变量的成员是通过点操作符(.)访问的。点操作符接受两个操作数。
例如:

 

 结构体指针访问指向变量的成员
有时候我们得到的不是一个结构体变量,而是指向一个结构体的指针。
那该如何访问成员。

 

3. 结构体传参

上面这种叫做传值调用,实际上是两块不同的空间,这样显然不是特别好,我们来看下一种传参方式

显然,我们在函数传参应该首选print2的方式

原因:函数传参的时候,参数是需要压栈的。如果传递一个结构体对象的时候,结构体过大,参数压栈的的系统开销比较大,所以会导致性能的下降。 

结论:
结构体传参的时候,要传结构体的地址。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

~|Bernard|

你的鼓励是我写下去最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值