C语言结构和联合的Typedef

示例

您可以为赋予别名struct:

typedef struct Person {
    char name[32];
    int age;
} Person;

Person person;

与传统的声明结构的方式相比,程序员无需struct每次声明该结构的实例时都拥有。

请注意,直到最后一个分号才定义名称Person(与相对struct Person)。因此,对于需要包含指向相同结构类型的指针的链表和树结构,必须使用以下任一方法:

typedef struct Person {
    char name[32];
    int age;
    struct Person *next;
} Person;

要么:

typedef struct Person Person;

struct Person {
    char name[32];
    int age;
    Person *next;
};

使用的typedef一个union类型很相似。

typedef union Float Float;

union Float
{
    float f;
    char  b[sizeof(float)];
};

与此类似的结构可用于分析组成float值的字节。