问题补充说明:typedef struct node{datatype data;struct node *lchild,*rchild;}bintnode;其中struct node *lchild,*rchild;是什么意思?非得要有struct吗?不要行不?
定义结构体类型时需要struct者批关键字,表明定义的是一个聚合类型(之后可以在{}之间定义它的成员)。结构体360问答类型定义后,C++中在相同命名空间无相同对象名的情况下可以省略struct直接用免停损等简杂短艺让频结构体名表示类型名,此时structnode*和node*没区别。对于typedef,限制相同。关于typedef的用法,LZ参考自己问的另外问题。
structnode*lchild,*rchild;声明了两个对象,structnode*类型的lchild和structnode*类型的rchild,其中structnode*类型是指向structnode的指针类型。由于指针类型可以在被指向类型不完整定义的情况下定义,因此可以用在结构体定义的内部协定义structnode*对象,而无需再structnode定义好之后才能定义。
====
[原创回答团]