您的位置:首页 > 其它

指针变量向函数中传递的陷阱及解决方法

2013-11-23 16:56 281 查看
    假设有一个指针变量ptr,另有一个函数Func,形参为指针。现在要将该指针变量ptr传递给函数Func,欲修改ptr的值,怎么做呢?先看以下代码:

    


    执行结果:

    


    可见,指针ptr的值并未改变,仍然为NULL。出现这样的结果,原因是:ptr是局部变量,当传递给函数test()时,函数不能真正使用ptr,用的只是ptr的一个备份,ptr的值不变。这是一个极易出错的陷阱。

    解决方法目前有2个:

    1、通过return返回地址。

    


    2、通过二级指针。

    


    上述2种方法的执行结果:

    
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: