1.怎么定义一个结构体:
1. struct 这个变量名就是跟电脑说明,我是一个结构体。
2. 在struct后面的名字是要大写开头的。
3.在大括号结束了,一定要加分号;
2.结构体数组就是跟之前的数组一样的,就是名字前面的变量改成了结构的,还有里面的数,跟二维数组差不多:
3.结构体指针
指针 == 地址 所以结构体指针也是用地址
结构体直接访问是用“.”
使用指针的形式去间接访问是用 "->"
他们表达的意思和之前的函数指针是一样的
结构体二级指针:
就是把函数名换成结构体类型的变量名然后通过二级指针指向之前的一级指针,使用二级指针来进行需要注意的是,在这里它使用了动态变量malloc字符串,所以要注意字符串的使用方式
结构体的字节对齐:
如果一个结构体里面有不同类型的变量,那么它的内存分配空间是不一样的;
在一些条件下,我们要对空间进行压缩,让它的空间更加分配得好,那么就要注意字节对齐
比如有一个结构体,他的类型int型,char型,double型,他们分别是四个字节,一个字节,八个字节,那么在统计的时候是按八个字节为一个整体,其他的就补上,那么怎么要合理分配空间呢,那就要同类型的放在一起,作用就是让它的补上空间利用好