C指针的传参*p,**p的理解

问题

最近在复习树
然后再次理解下c的指针问题
:如果把&p(p的地址)传入函数中,函数中的p(或者说参数)是什么?
搜索无果,决定自己动手,丰衣足食!
在这里插入图片描述

void f(int **p)
{
**p=3;
printf("%d %d %d\n",*p,p,**p);
}

int main()
{ int k=1;
int *p;
p=&k;
printf("%d %d\n",*p,p);
f(&p);
printf("%d %d",*p,p);
}
在这里插入图片描述很明显主函数中,p是指向的地址值,&p是p所在的地址值,*p是指向地址的内容值。

在f函数中,p是p所在的地址值(也即是主函数的&p),p是p指向的地址值(也就是主函数的p),**p是指向地址的内容值(也即是主函数的p;

所以也就相当于把&p传给了参数中的p。

突然想起来那f中的&p的值又是啥。(问题总是无穷无尽哦!)

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值