要改变二级指针指向的值,需要传递指向指针的指针。

下面是一个示例代码:

#include <iostream>

void changeValue(int** pp)
{
    // 修改指针pp指向的值
    **pp = 99;
}

int main()
{
    int value = 10;
    int* p = &value;
    int** pp = &p;

    std::cout << 'Before change: ' << **pp << std::endl;

    // 传递指向指针的指针pp
    changeValue(pp);

    std::cout << 'After change: ' << **pp << std::endl;

    return 0;
}

输出结果:

Before change: 10
After change: 99

changeValue函数中,参数pp是指向指针的指针,在函数中通过**pp可以修改指向的值。在main函数中,将p的地址传递给pp,然后将pp传递给changeValue函数,通过**pp修改了p指向的值。最后在main函数中打印**pp的值,可以看到值已经被成功修改。

C++ 二级指针传参修改值详解

原文地址: https://www.cveoy.top/t/topic/bSwz 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录