go语言的指针问题

在学习go语言的指针过程中,产生疑惑

使用取地址符,打印内存地址

但是为什么红框中的地址和函数外的地址不一样呢?

我本来以为都是打印078的地址,但是在函数内却打印了038的地址

QQ图片20191025214022.png

阅读 2k
1 个回答

`
函数外面 声明变量i.那么&i 你打印的是该变量的内存地址。而你的方法zeroptr 接受的是*int.那么 其实 ip等价于&i。所以你打印ip 就是 i的内存地址。再你在函数内部进行&ip操作。相当于对&&i 的意思吧。其实也就是你打印了指针的指针地址。。最后就是 **int
`

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题