在C中,我们可以将彼此相关的多种类型的变量用一个结构体(structure) 变量管理起来。结构体变量的声明方式为:

struct structure-tag {
    member 1
    member 2
    ...
};

这里,structure-tag是一个optional name,我们可以用它来定义 这个结构体的变量:

struct structure-tag var1, *var2;

这种定义方法等同于:

struct {
    member 1
    member 2
    ...
} var1, *var2;

其实,struct变量的定义语法和C语言中其他变量(int之类的)的定义语法一样:

variable-type variable-name

这里,struct structure-tagstruct {...}就是variable-typestructure-tag{...}的一个简写。

当然,我们也可以在声明的时候定义变量:

struct structure-tag {
    member 1
    member 2
    ...
} var1, *var2;

再结合上typedef

typedef struct structure-tag {
    member 1
    member 2
    ...
} StructVar, *StructPointer;

StructVar var1;
StructPointer var2;

以上。