这是我参与11月更文挑战的第22天,活动详情查看:2021最后一次更文挑战」
最近,想复习一下C语言,所以笔者将会在掘金每天更新一篇关于C语言的文章! 各位初学C语言的大一新生,以及想要复习C语言/C++知识的不要错过哦! 夯实基础,慢下来就是快!
结构体
结构体的声明
结构是一些值的集合,这些值称为成员变量。结构的每个成员可以是不同类型的变量。
1 | ini复制代码struct tag |
例如
1 | arduino复制代码typedef struct Stu |
结构成员的类型
结构的成员可以是标量、数组、指针,甚至是其他结构体。
结构体变量的定义和初始化
1 | arduino复制代码struct Point |
定义同时初始化
1 | arduino复制代码//初始化:定义变量的同时赋初值。 |
结构体嵌套初始化
1 | arduino复制代码struct Node |
结构体成员的访问
1 | c复制代码struct Point |
结构体的传值和传址
关于结构体
结构体可以在main函数内部定义,但不建议
结构体类型定义并不占用空间 实际定义结构体变量才占用空间
全局的结构体,未初始化,编译器会给它的变量默认初始化为0
静态区的变量不初始化默认为0
静态区:static,全局变量
1 | c复制代码typedef struct Book |
对于上面两种传结构体的方式:传值,传址
传地址:只传过去4个字节,浪费的空间小
传值:直接开辟一个和原结构体相同大小的空间,浪费空间,会导致压栈问题
所以我们更倾向于传址方式
今天就先到这吧~感谢你能看到这里!希望对你有所帮助!欢迎老铁们点个关注订阅这个专题! 同时欢迎大佬们批评指正!
本文转载自: 掘金