您可以为赋予别名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值的字节。