结构体(struct):是在C语言编程中,一种用户自定义可使用的数据类型,且是由多个相同或不同数据类型的数据项构成的一个集合。所有的数据项组合起来表示一条记录。(如:学生的结构体,数据项有学号、姓名、班级等等)
常用于定义的数据项类型:char、int、short、long、float、double、数组、指针、结构体等等。(结构体的成员变量数据类型)
1.结构定义步骤:①使用结构体struct语句(形式如下) ②确定定义结构体的内容 ③完成定义
PS:结构体名称、结构体内容、结构体变量,三者必有其二才能构成结构体。
2.结构定义方式
例:学生结构体 (snumber为学号,sname为姓名,sclass为班级)
(1) 一般定义方式:
PS:结构体定义的时候不定义变量。(最常用的定义方式)
(2) 一般不用的定义方式:
PS:结构体定义的时候声明变量。
(3) 最不提倡用的定义方式:
PS:结构体定义的时候无结构体名称。(即此结构体只能用一次,浪费资源)
(4) 带 typedef 的结构体:
①typedef 关键字作用:相当于给已有的数据类型取个其它的名字。如下:(使用方法)
②使用 typedef 定义的结构体:(三种方法等价,书上常见第一种*)*
结果:
PS:以上三种定义方法都可以用在实际编写代码中,且三种方法等价;具体用哪一种,因个人习惯和偏爱而因人而异。(吾比较喜欢第三种!)
1.结构体定义中使用其他结构体:
结果:
2.两个结构体定义相互调用:
3.结构体定义中使用自身结构体 (链表的结构体定义,后面有完整的链表创建使用方法)
1.普通指针:是一种用来存放内存地址的变量。(如下)
结果:

2.结构体指针 (配合 结构体中使用的结构体的方法一起创建 链表)
结果:
1.结构体访问成员变量时的符号:
①" . "(点)
②" → "(箭头)
2.使用方法 (要访问结构体成员时)
①如果是结构体指针,则用箭头运算符访问。
②如果是结构体一般变量,则用点运算符。
PS:对比上面 学生结构体 和 链表结构体 ,试着交换一下访问符号试试。
版权声明:
本文来源网络,所有图片文章版权属于原作者,如有侵权,联系删除。
本文网址:https://www.mushiming.com/mjsbk/6521.html