声明:结构体是一种自定义的数据类型
struct 结构体名{
类型说明符 成员名;
... ...
类型说明符 成员名;
};
定义:
struct 结构体名 变量名 = {初值};
结构体成员访问:
//形式:结构体变量名.成员变量名
例:
stu1.num //访问stu1的学号
stu1.name //访问stu1的名字
匿名结构体:不定义结构体名
typedef重定义方法:
typedef方法一:
struct student {
...
};
typedef struct student Student;
typedef方法二:(最常用)
typedef struct student {
...
}Student;
//注意:结构体变量可以直接整体赋值
结构体内存占用
以最大成员变量类型所占空间为分配空间
按结构体成员声明顺序自上而下分配
分配空间不足以存储成员变量时,分配新的空间单位
结构体嵌套
结构体成员变量可以依然是结构体
结构体数组
将多个结构体变量放到数组中,构成结构体数组。
总结::
①结构体是一种比较灵活的数据类型,并且和 OC 的类很类似
②结构体和数组的相互嵌套可以实现比较复杂的数据结构