typedef struct 结构体定义使用详解:
typedef {……} A; // A是无名类型的别名,A需要带struct定义变量(如:struct A val_A;)。
struct A {……}; // A是类型名,A可以不带struct定义变量(如:A val_A;)。
typedef struct A {……}; // A是类型名,同上。此处typdef没有能定义新的别名,使用无效。
typedef struct A {……} AA; // A是类型名,AA是类型A的别名,均可以不带struct定义变量。
struct {……} B; // B是变量。
struct A {……} B; // A是类型名。B是变量。