用typedef后, 后面的语句的语义就改变了,
用typedef定义类型别名,这个别名和类型一样使用,
struct S{int i;} a,b; 定义结构 S和 S的变量a,b
typedef struct S{int i;} a,b; 这里除了定义结构S, 又起了别名a和b,
a和b位置的标识符就都是别名而不是变量
a和b也像类型一样用来定义结构变量
因为起了别名 所以不起结构名也没问题 typedef struct {int i;} a;
一般用typedef同时定义结构类型,和结构指针类型
typedef struct _s {
int i;
} s,*ps;
s a;
ps p=&a;
结构体struct前面加 typedef和不加typedef的区别
最新推荐文章于 2023-01-04 14:12:29 发布