结构体
struct 结构体名称
{
结构体成员1;
结构体成员2;
......
};
初始化结构体的指定成员值
- 语法和数组指定初始化元素类似,不过结构体指定初始化成员使用点号(.)运算符和成员名。
struct Book book = {.price = 48.8};
- 还可以不按结构体声明的成员顺序进行初始化:
struct Book book = {
.publisher = "清华大学出版社,
.price = 48.8,
.date = 20171111
};
结构体中计算只能多少内存空间,会涉及到对齐原则!
结构体数组
- 在声明结构体的时候进行定义:
struct 结构体名称
{
结构体成员;
}数组名[长度];
- 先声明一个结构体类型,再用此类型定义一个结构体数组:
struct 结构体名称
{
结构体成员;
};
struct 结构体名称 数组名[长度];
结构体指针
取值时,要加上&符号,因为它和数组不一样,它的变量名不是指向结构体的地址的
通过结构体指针访问结构体成员的两种方法:
- (*结构体指针).成员名
- 结构体->成员名
动态申请结构体
- 使用malloc函数为结构体分配存储空间