关于typedef struct定义结构体时,为什么struct后面可以不加类型名

问题描述:

关于typedef struct定义结构体时,为什么struct后面可以不加类型名
例如这样子
typedef struct {
\x09QueuePtr front;
\x09QueuePtr rear;
}LinkQueue;
这样写是对的?

这就是typedef 的作用
当有typedef 时
typedef struct {
QueuePtr front;
QueuePtr rear;
}LinkQueue;
则LinkQueue 变是类型号名
下面声明变量就可以
LinkQueue a
如没有typedef 时
如StructLinkQueue{
QueuePtr front;
QueuePtr rear;
}
则声明变量时就必须这样
StructLinkQueue a
所以
typedef struct定义结构体时,后面可以不加类型名了