结构体:

C语言第七课 构造数据类型C语言第七课 构造数据类型

结构体的一般声明方法是 : struct 结构体的名字 { 结构体中的成员变量}  , 其中每一个成员变量都是必须要进行类型声明的: 也就是 类型名 成员名
在初始化的时候,方法为:  struct 结构体的名字 变量名


其中 book 是结构体的名字, 必须要加上关键字 struct ,在对char类型赋值的时候需要用 string.h中的 strcpy函数。



结构体变量的定义和初始化:

第一种方法,只定义了变量的名字,没有给变量赋初值
C语言第七课 构造数据类型



第二种方法,定义变量的名字,并且直接给变量赋予一定的初始值,直接在其他函数中进行调用
C语言第七课 构造数据类型
C语言第七课 构造数据类型

结构体数组:

第一种结构体数组的定义: 在函数中定义
C语言第七课 构造数据类型C语言第七课 构造数据类型

当输入的数组的时候要注意,数组越界的问题。


第二种结构体数组的定义: 在结构体的末尾定义
C语言第七课 构造数据类型

结构体的嵌套:

C语言第七课 构造数据类型
C语言第七课 构造数据类型
C语言第七课 构造数据类型

在结构体中定义结构体必须是先将要调用的结构体写在前面,不然会找不到。
在函数中可以直接调用已经定义好的结构体变量。

结构体与指针

C语言第七课 构造数据类型C语言第七课 构造数据类型


结构体指针调用的时候,先把地址给结构体指针,然后再赋值,
“->”  是指向结构体成员运算符,它类似于结构成员运算符 “ . ” , 都是用来访问结构体成员的, 不过使用的对象不同,加入用结构体变量来访问结构体成员,就需要用结构成员运算符 “ . ” , 要是用指针来访问结构体成员,就需要用指向结构体成员运算符 “ -> ”。


指向结构体数组的指针

C语言第七课 构造数据类型
C语言第七课 构造数据类型

指向结构体数组的指针每自加一次, 就是在原地址的基础上再加一个元素(也就是结构体变量)所占用的字节数,因此会指向下一个结构体变量



结构体和typedef

typedef的第一种用法:
C语言第七课 构造数据类型C语言第七课 构造数据类型



typedef的第二种用法

C语言第七课 构造数据类型C语言第七课 构造数据类型

相关文章: