typedef struct QNode
{
SNode date;
struct QNode *next;
}QNode,*QueuePtr;//特别是这一句怎么解释,关于这句的语法方面不是很懂
//为什么后面还有个指针
为结构体定义一个指针数据类型。
本来结构体的定义是
struct Qnode
{
...
};
使用时是这样的
struct Qnode a;//a就是一个结构体变量
而typedef 语句就是重定义类型名。
typedef int INT;//就是把int类型自定义成INT类型,以后使用可以
INT a;//a是个INT类型的变量,因为INT 跟int是一样的所有a实际上也是int
typedef struct Qnode QNode;//就是把struct Qnode 定义为QNode
以后使用结构体定义变量就可以这样用
QNode node;//node就是一个结构体变量了
你的代码就是一步到位的定义
把typedef 和struct 两个语句放在一个语句里。
*QueuePtr是为结构体定义一个指针类型
以后使用指针类型时就可以
QueuePtr pnode;//pnode就是一个指针变量,指向的是struct Qnode结构体
QueuePtr 等同于 struct Qnode *
Qnode 等同于 struct Qnode