结构 typedef struct aaa{ struct aaa* p; }bbb; typedef struct { ... }bbb; 两者没有什么区别都是定义bbb为结构别名,第二种定义的时候短一点,更好用。 但是如果定义的结构内部需要有一个结构本身的结构指针则需要用第一种 typedef struct { int aaa; }bbb; bbb* b1; b1->aaa=1; bbb b2; b2.aaa=2; 本质上->和 . 没有区别,但是为结构指针时需要使用->