求解创建二叉树
typedef struct BiNode{TElemType data;
struct BiNode *lchild,*rchild;
}BiTree;
下述代码中,为什么要用*T ,为什么不用T?我对指针了解不多,希望赐教,谢谢!
int CreatBiTree(BiTree **T)
{
TElemType ch;
fflush(stdin);
scanf(FORMAT,&ch);
if(ch == '#')
{
*T = NULL;
return 0;
}
else{
*T = (BiTree *) malloc(sizeof(BiTree));
if(!(*T)){
perror("存储分配失败\n");
exit(1);
}
(*T)->data = ch;
CreatBiTree(&(*T)->lchild);
CreatBiTree(&(*T)->rchild);
}
return 0;
}
[ 本帖最后由 wz609159482 于 2010-6-17 16:29 编辑 ]