结构和联合的 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
值的字节。