结构体
1 结构体的声明
1.1结构的基础知识
结构是一些值的集合,这些值称为成员变量。结构体中成员变量的类型可以不同
C语言中采用结构体来描述复杂对象
1.2结构的声明
全局变量在任意地方都可以访问并修改(不安全),推荐在函数体内部创建变量
结构体的声明也可以在main函数内定义,不过只能在main函数内部使用(推荐结构体定义在外面,以便别人使用)
struct Peo是声明了一个结构体类型(不占用内存空间)
struct Peo p1 是创建一个结构体变量(占用内存空间)
类似于JAVA中的类和对象
1.3结构体成员的类型
结构体的成员可以是标量、数组、指针、甚至是其他结构体。
1.4 结构体变量的定义和初始化
初始化:定义变量的同时赋初值
若只初始化其中几个成员变量则称为不完全初识化
2 结构体成员的访问
两种访问结构体的方法
结构体.成员变量 传参采用的方式是传值调用
结构体->成员变量 传参采用的方式是传址调用
3 结构体传参
p1是实参,p是形参 p是p1在内存中的一份临时拷贝
当结构体的数据量过大时,拷贝花费的时间多,而且在内存空间中又要开辟一块空间来存放这份临时拷贝
与空间时间来说都是不利的
&p1取出的是p1的地址,指针变量在32/64位平台下分别占4/8个字节
sp 是指针变量指向p1的地址
推荐采用print2(传地址的形式)