memories190 2023-03-20 20:37 采纳率: 100%
浏览 18
已结题

形参指针与实参指针的关系

形参指针指向的变化会影响实参指针指向吗
形参指针和实参指针到底是什么关系啊

  • 写回答

3条回答 默认 最新

  • 爱音斯坦牛 全栈领域优质创作者 2023-03-20 20:42
    关注

    看看GPT的回答:
    形参指针和实参指针之间存在着一定的关系。在 C 或 C++ 中,函数的参数传递有两种方式:传值和传地址(指针)。

    当使用指针作为函数参数时,可以通过指针对函数外部的变量进行操作。在函数中对指针的修改会影响到指针所指向的内存空间,从而也会影响到实参指针指向的内存空间。

    但是需要注意的是,形参指针和实参指针是不同的指针变量,它们具有不同的内存地址,因此形参指针的修改不会影响实参指针的地址,只会影响它所指向的内存空间。如果在函数中修改形参指针的指向,那么只会影响形参指针本身,而不会影响实参指针。

    下面是一个简单的例子,可以更好地理解形参指针和实参指针之间的关系:

    #include <iostream>
    using namespace std;
    
    void func(int* p) {
        *p = 10;    // 修改指针指向的内存空间的值
        p = NULL;   // 修改指针本身的值
    }
    
    int main() {
        int num = 5;
        int* p = &num;
    
        cout << "Before func(): " << p << endl;    // 输出实参指针的值
    
        func(p);    // 调用函数
    
        cout << "After func(): " << p << endl;     // 输出实参指针的值
        cout << "num: " << num << endl;            // 输出num的值
    
        return 0;
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 3月29日
  • 已采纳回答 3月21日
  • 创建了问题 3月20日

悬赏问题

  • ¥15 51单片机使lcd显示器开机闪烁预设字符闪烁3次需要加什么代码
  • ¥50 C# 使用DEVMOD设置打印机首选项
  • ¥15 麒麟V10 arm安装gdal
  • ¥15 想用@vueuse 把项目动态改成深色主题,localStorge里面的vueuse-color-scheme一开始就给我改成了dark,不知道什么原因(相关搜索:背景颜色)
  • ¥20 OPENVPN连接问题
  • ¥15 flask实现搜索框访问数据库
  • ¥15 mrk3399刷完安卓11后投屏调试只能显示一个设备
  • ¥100 如何用js写一个游戏云存档
  • ¥15 ansys fluent计算闪退
  • ¥15 有关wireshark抓包的问题