关于结构体的定义与使用的一个问题
RT,最近在做红黑树的实现,看到有个例子上面是这样定义树结点的结构体的:typedef struct RBTNode /*定义结点的结构*/
{
struct RBTNode *left,*right,*parent;
int key;
int size; /*记录结点的位置*/
int color;
}RBTNode,*RBTree; /*这里的指针RBTree在后面会用到*/
void InitLeafNode() /*叶子结点的构造*/
{
nil=(RBTree)malloc(sizeof(struct RBTree));
RBTree root=(RBTree)malloc(sizeof(struct RBTree));
nil->color=BLACK;
nil->left=NULL;
nil->right=NULL;
nil->key=1;
nil->size=0;
root=nil;
}
然后在编译的时候总是说nil是没有定义的变量,RBTree是没有被定义的之类的一大堆错误,看了半天也不知道这个结构体定义在哪里出错了,请牛人指点小弟一二。请说明错在了哪里,为什么会出这种错误。在此多谢了