读书人

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

发布时间: 2012-03-28 15:40:03 作者: rapoo

再开一帖,刚才没弄明白,函数传值问题
已知: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

读书人网 >C语言

热点推荐