再开一帖,刚才没弄明白,函数传值有关问题

再开一帖,刚才没弄明白,函数传值问题
已知:typedef struct BiNode
{
  char data;
  struct BiNode *lchild,*rchild;
}BiNode,*BiTree;

void CreateBiTree(BiTree *T)
void CreateBiTree(BiTree T)
以上两个有什么区别?
为何第一个定义传址能分配内存空间,赋值,第二个就不行了?

------解决方案--------------------
我之前发的那句你还是没理解啊

------解决方案--------------------
注意传值传指针的区别

要修改指针得传指针的指针

------解决方案--------------------
第二个是copy哦
------解决方案--------------------
你只要记得BiTree T或者BiTree *T,都是在函数调用时候分配在栈上,函数退出就没了,就可以了,
------解决方案--------------------
关于指针传递的问题,我写了点关于这方面的东西。
http://topic.csdn.net/u/20120319/15/0751ad00-bad3-481b-9f3a-fed7409cb9cc.html