一.结构体声明:
结构体本质上还是一种数据类型,但它可以包括若干个“成员”,每个成员的类型可以相同也可以不同,也可以是基本数据类型或者又是一个构造类型。
.
.
.
二.如何定义一个结构体:
1.首先使用关键字struct,它表示接下来是一个结构体;
2.后面是一个可选标志(book),它是用来引用该结构体的快速标记;
3.接下来就是一个花括号{},括起了结构体成员列表,及就是每个成员变量,使用的都是其自己的声明方式来描述,用分号来结束描述;
4.不要忘记分号!在结束花括号后的分号表示结构体设计定义的结束;
5.结构体是一种集合,它里面包含了多个变量或数组,它们的类型可以相同,也可以不同,每个这样的变量或数组都称为结构体成员。(特别注意:结构体成员的定义方式与变量和数组的定义方式相同哦,只是不能初始化)
.
.
.
三.结构体变量:
1.既然结构体是一种数据类型,那它就像C语言基础的内置类型一样,可以去定义变量
2.结构体变量的定义可以放在结构体的声明之后;
3.结构体变量定义也可以在结构体声明的同时定义,简化了代码(常用),在C语言中不可省略struct,但C++中可以省略
4.还可以使用匿名结构体来定义结构体变量,但是这种定义方式虽简单,但不能再次定义新的变量,也就是说,这种定义方式只能定义一次,不能重新再去定义别的变量
.
.
.
四.结构体变量的初始化:
1.虽然结构类似一个数组,只是数组元素的数据类型是相同的,而结构中元素的数据类型是可以不同的。但结构不能像数组那样使用下标去访问其中的各个元素,而应该用结构成员运算浮点(.),通过(I.)取访问结构体中的成员;
.
.
.
五.结构体变量的使用:
1.结构体普通变量如何访问结构体成员:C语言规定,结构体的普通成员可以通过运算符“点.”去访问其成员
2.结构体指针变量如何访问其成员:可以通过箭头符号的方式去访问其成员
3. (*p).name = = p -> name 左右两种方式等价
4.结构体成员如果是字符串,不能直接通过符号“=”去修改值,可以通过C语言中的拷贝函数strcpy去修改值
.
.
.
五.结构体数组:(project16.)
(等for的用法学完后再来补充)