指针引发的一个传值和传址的问题
2010-12-30 17:25
211 查看
今天在编写程序时遇上了这个问题,记录如下。
一个二叉排序树的搜索算法:
指向指针的指针作为参数
稍作总结,在指针做参数传递给函数的时候:只能保留指针指向的对象改变的值。不能保留指针本身所做得修改。在需要修改指针本身的时候,需使用指向指针的指针作为参数。也便是传值与传址的差别所在。
一个二叉排序树的搜索算法:
指向指针的指针作为参数
int Search_BinaryTree(BinTree bt, KeyType key, BitNode** p, BitNode** pf) { //查找二叉排序树bt中关键之为key的结点,*p指向该结点,*pf指向该结点的双亲结点。 *p = bt; *pf = 0; while(*p != 0) { if(key == (*p)->elem) return 1; if(key < (*p)->elem) { *pf = *p; *p = (*p)->leftchild; } else { *pf = *p; *p = (*p)->rightchild; } } return 0; }
稍作总结,在指针做参数传递给函数的时候:只能保留指针指向的对象改变的值。不能保留指针本身所做得修改。在需要修改指针本身的时候,需使用指向指针的指针作为参数。也便是传值与传址的差别所在。
相关文章推荐
- C++指针小结:由一个问题引发的。。。。。。。。。。。。。。。。。。。
- 一个二级指针引发的问题
- 一个问题引发的对类成员指针的思考
- 一个字符变量存储到动态分配内存引发的输入问题解决--连续输入scanf函数存在缓冲区的问题
- 再谈HashMap-由一个实际问题引发的对HashMap设计吐嘈
- 由安卓开发中的一个坑引发的问题解决之道浅析
- 求教一个指针的问题:*pResult=0
- 一个distinct问题引发的思考
- 一个多线程synchronized引发的问题思考
- 一个指针的问题
- 问一个关于指针的小问题
- 安装SQL Server2K可能引发一个严重问题
- 一个SpringSecurity引发的表单提交乱码问题
- 一个单引号引发的MYSQL性能问题分析
- memcpy引发的C常见指针问题
- 模板继承中注意的一个问题,只能使用指针或引用的形式
- (转)问题:假设一个没有头指针的单链表。一个指针指向此单链表中间的一个节点(既不是第一个,也不是最后一个节点),请将该节点从单链表中删除。
- 一个YAFFS引发的一系列问题
- 一个鼠标指针有关的启发(存在问题,可以参考一下 呵呵)
- sqlserver中int 类型的字段,值为null的时候引发一个问题