結構和聯合的 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 值的位元組。