指针的传递仍然是传递副本

写数据结构遇到的问题。

假设有

void DeleteTree(BTREE BT)

{

其中BTREE本身就是一种指针数据类型。

如果在函数中做如下操作

1.

delete BT ;  

BT = NULL ;

那么在主函数中如果要遍历的话,将会出现错误,因为遍历操作判断BT是否为空,子函数中将其置空,注意,其置空的只是主函数传给子函数的BT的副本,故BT不为空,但子函数中将BT 的空间delete掉了,因此程序出错。需要注意啊

2.

BT = BT->lChild ; 

Delete BT ; 

BT = NULL ; 

这个是不会出错的,的确是将BT的左孩子指针置空了。


这 两种情况混在一起还真是让人迷惑额

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值