分享

为什么需要使用二级指针

 灬苹果树下灬 2011-04-20
使用二级指针是为了函数调用结束后可以使作为函数实参的指针的值的改变保留下来,
楼主问这样的问题,应该是对指针的理解不够透彻。
指针是一种变量类型,自身在32位操作系统中的大小是4个字节,因为32位CPU的地址总线位宽是32位,指针的值是内存地址,我们知道,一个函数如果参数是值传递,那么传入函数体的是一份实参的拷贝,实际并不作用于该实参变量,而指针也是一样的,传入函数体的也是一份指针拷贝,这份拷贝指向于和原指针相同的地址,修改这份拷贝的值,也就是它的地址将毫无意义,只有修改其指向的内容才会实际作用到指向物。现在已经接近你的问题了,如果要使用函数使指针参数的值改变,也就是让它的指向改变,其方法就是使该指针成为二级指针,二级指针的内容是一个指针值,这样做改变就可以实际作用到指针指向。
GetNode(int position, LNode **node)
{
...
*node = pTemp;
...
}
从你的这个函数中看,node的指向是需要改变的,而且要求在函数运行结束后任然保持这个指向。
就是这个意思了。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多