| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1185 人关注过本帖
标题:这里为什么要用指针的指针呢?
只看楼主 加入收藏
中国
Rank: 1
等 级:新手上路
帖 子:218
专家分:0
注 册:2009-1-4
结帖率:90.91%
收藏
已结贴  问题点数:20 回复次数:5 
这里为什么要用指针的指针呢?
在初始化二叉树的时候定义了头结点
void initiate(BiTreeNode * *root)//这里为什么要用指针的指针呢

?以前理解是初始化操作前root没有地址值,初始化之后才有。有更

简单的理解方法吗?
{
  * root=(BiTreeNode *)malloc(sizeof(BiTreeNode));
  (*root)->leftChild=NULL;
  (*root)->rightChild=NULL;//为什么要用括号括起来root呢?
root->rightChild不一样吗?????
搜索更多相关主题的帖子: 指针 
2009-07-30 16:27
geninsf009
Rank: 3Rank: 3
等 级:论坛游民
威 望:8
帖 子:613
专家分:95
注 册:2008-8-16
收藏
得分:20 
参数使用**root,意思是按照地址传递参数,
在c++中,也可以这样定义参数:
void initiate(BiTreeNode*& root);
2009-07-30 19:26
中国
Rank: 1
等 级:新手上路
帖 子:218
专家分:0
注 册:2009-1-4
收藏
得分:0 
回复 2楼 geninsf009
就是说实参传递的是地址是吗?那也应该直接用&啊,再加个*有什么用啊
(*root)->rightChild=NULL;//为什么要用括号括起来root呢?
root->rightChild不一样吗
2009-08-07 17:15
中国
Rank: 1
等 级:新手上路
帖 子:218
专家分:0
注 册:2009-1-4
收藏
得分:0 
那么哪个时候要用指针的指针呢
2009-08-11 11:31
rs369007
Rank: 2
等 级:论坛游民
帖 子:30
专家分:11
注 册:2009-2-25
收藏
得分:0 
BiTreeNode * *root

*root 第一重保证 初始化时(*root)->next=NULL 能被传递出去(即root 指向的结构能被修改)

* *root 第二重保证对 *root=malloc。。。 的修改能被传递出去(即root本身能被修改)
2009-10-29 23:32
快速回复:这里为什么要用指针的指针呢?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016835 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved