trybye 2017-06-19 15:15 采纳率: 0%
浏览 812
已采纳

传入指针后的操作,有什么区别

void func(int *a,int *b)
{
a=b;
}
void func(int *a,int *b)
{
*a=*b;
}
这两个函数在实际使用中都可以吧,一般怎么用会有区别

  • 写回答

2条回答 默认 最新

  • threenewbee 2017-06-19 15:58
    关注

    前者没用(执行完了和没执行一样),因为出了函数,作为参数的指针还是不会改变。后者执行完了,传入指针指向的内容被更改。
    比如
    int a = 1;
    int b = 2;
    func(&a, &b);
    那么第一个程序还是a=1 b=2
    第二个程序执行完,a=2 b=2

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 jupyterthemes 设置完毕后没有效果
  • ¥15 matlab图像高斯低通滤波
  • ¥15 针对曲面部件的制孔路径规划,大家有什么思路吗
  • ¥15 钢筋实图交点识别,机器视觉代码
  • ¥15 如何在Linux系统中,但是在window系统上idea里面可以正常运行?(相关搜索:jar包)
  • ¥50 400g qsfp 光模块iphy方案
  • ¥15 两块ADC0804用proteus仿真时,出现异常
  • ¥15 关于风控系统,如何去选择
  • ¥15 这款软件是什么?需要能满足我的需求
  • ¥15 SpringSecurityOauth2登陆前后request不一致