//struct 类型名 {} 变量名; 定义一个结构体类型以及一个变量
//struct {} 变量名;==定义一个"临时的无名的"结构体类型以及一个变量
//typedef struct 类型名{} 别名;==定义一个结构体类型,以及它的别名.好处是,以后定义结构体变量的时候,不需要再写struct这个关键字;别名 myst1;
//struct 类型名; 前置声明.不需要完整的结构体定义.只是告诉编译器,有这个类型存在.一般用于头文件中,可以隐藏实现细节.传参数的时候只能用指针.