typedef struct _BiTNode//是否忘记打typedef?要不你底下的BiTree T是不能通过编译的!因为按你的写法BiTree是一个变量而不是一个变量类型,另外请去掉两个圆括号,还有为防止冲突,前边加下划线
{
TelemType date;
struct _BiTNode *l,*r;//老大,记得加分号!
}BiTNode,*BiTree;
意思是定义一个结构体类型(用作链表的一个节点),BiTNode就是该结构体,而BiTree是一个BiTNode类型的指针。
BiTree T是说参数T是一个指针,该指针是BiTree类型的,根int * ,float* 一样,就是一个指针而已。
如果单单这样写
struct BiTNode()
{
TelemType date;
struct BiTNode *l,*r
};
是声明一个结构体变量;
struct BiTNode()
{
TelemType date;
struct BiTNode *l,*r
}BiTNode,*BiTree;
//这样写的话相当于 声明变量的同时 定义一个就够变量,和定义一个结构体指针,也相当于
struct BiTNode()
{
TelemType date;
struct BiTNode *l,*r
};
struct BiTNode BiTNode;
struct BiTNode * BiTree;
T是指向结构体的指针