返回

再识结构体

发布时间:2022-12-18 02:24:32 295
# 数据

一、创建结构体的两种方法

再识结构体_结构体

第一种是在创建结构体类型后,直接创建结构体变量,注意此时的结构体变量是全局变量,而在主函数内部创建的结构体变量是局部变量


二、结构体初始化的“套娃”

再识结构体_压栈_02

结构体内部还可以再次定义结构体,但在初始化时,需要在{ } 里面再次{ } 


三、结构体传参

先说结论,结构体传参需要传地址!

再识结构体_结构体_03

问题:print1和print2哪个更好?

解答:

第二种好。
第一种将结构体s这个实参直接传过去,所以需要一个形参进行接收,而形参又是实参的一份临时拷贝,所以需要再一次创建一个结构体,而一个结构体创建所需要的内存可能很大,而print2将地址传过去,只需要指针进行接受,只需要4个或8个字节的内存空间,相比较而言,内存空间就占的很少了


四、栈

再识结构体_内存空间_04

栈是数据结构的一种,栈只能从顶上加减,有定义插入一个元素:压栈,删除一个元素:出栈。

内存区的分配:

再识结构体_内存空间_05

再识结构体_初始化_06

当函数传参时,把参数传过去这一动作也称为压栈,即函数传参时,参数是需要压栈的。


特别声明:以上内容(图片及文字)均为互联网收集或者用户上传发布,本站仅提供信息存储服务!如有侵权或有涉及法律问题请联系我们。
举报
评论区(0)
按点赞数排序
用户头像
精选文章
thumb 中国研究员首次曝光美国国安局顶级后门—“方程式组织”
thumb 俄乌线上战争,网络攻击弥漫着数字硝烟
thumb 从网络安全角度了解俄罗斯入侵乌克兰的相关事件时间线
下一篇
C语言操作符详解 2022-12-18 01:33:28