清空二叉树(二级指针,看不懂指针)

题目
void BinTreeClear(TNODE **root)//清空二叉树
{
if(*root)//不清楚*root判断的是不是根节点的data或是lch/rch非空,这里可以直接写if(root)吗
{
BinTreeClear(&(*root)->lch);//不清楚(*root)->lch具体含义及指针指向
BinTreeClear(&(*root)->rch);//同上
free(*root);
*root=NULL;
}
}
以上代码均正确;
下面是我在网上找到,不知道是否正确。如果正确,两者在指针方面有何区别,为何一个是一级指针,一个是二级指针。
图片说明

http://blog.csdn.net/u013240038/article/details/41387637