一、什么是结构体
结构体,就是创建出一个新的变量类型来描述复杂类型
会用到一个关键字struct 即 结构体
例如我们想要用结构体来描述一个学生的姓名、年龄和分数
![](https://i-blog.csdnimg.cn/blog_migrate/5e5d75f31fb76a7a2395ca05e7d5d229.png)
分析代码:
创建结构体 struct Stu,其内容包括 姓名(char),年龄(int),分数(double)
主函数中创建变量类型为刚创建的 struct St,名称为s,在{ }内输入成员变量
打印成员变量,引用“.”关键字,即(变量名称.成员变量)
二、含有指针
像上面的代码一样,打印成员变量时可以用类似于 s.name 这样的形式
如果给你的信息只有指针,我们该怎么做?
请看以下代码演示:
![](https://i-blog.csdnimg.cn/blog_migrate/0055435f57e023dafd2015b7d4e8b466.png)
创建结构体和第一张图片一致
分析代码:
创建成员变量
取变量s的地址存放在指针ps中,指针类型为 struct Stu
打印成员变量,可以用(*ps).name,即(解引用.成员变量)
我们上节学习了指针,明白解引用后*ps=s,所以和第一次代码演示的s.name道理一致
注意:这种形式过于繁琐,只有在提供指针的环境下使用
三、含有指针(简易版)
对于这种指针类型,我们还有一个简易版,就是要用到“->”(箭头)字符
![](https://i-blog.csdnimg.cn/blog_migrate/c3f240b9c8635e24a116370e1c44b15d.png)
分析代码:
创建结构体以及创建成员变量和之前的都一致
取s的地址存在指针变量ps中
打印成员变量,应用 ps->name (指针变量->成员变量)
相比于解引用,这个->更加方便,但也是在只有指针的情况下推荐使用
总结
以上就是本人对于初识结构体的学习与理解