主题
文章
项目
资源
图书
Go网址导航
下载
官方文档
英文文档
中文文档
标准库中文版
Go指南
注册
登录
首页
主题
Go问与答
go的指针在方法里修改了内存地址,可是外部依然无效呢?
ciel
·
· 3636 次点击
func main(){ a := 64 var i *int = &a increment(i) fmt.Println(*i) //指针类型且已修改指针地址,为什么依然是64 } func increment(i *int){ t := *i t++ i = &t fmt.Println(*i) }
阅读全文
查看全部 5 个评论
katsu
increment函数里的`i = &t`改成`*i = t`.
评论于 2021-03-21 23:19:45
#4
更多评论
focusonline
楼主怕是C语言中毒比较深或者基础还需要加强, 你应该明白指针和指向指针的指针是不一样的...
评论于 2021-03-21 12:15:48
#1
937624219
increment方法是参数复制的一个指向a的地址,然后你把复制的地址再另外赋值一个地址,但是a的地址是没有变化的 初学者的理解
评论于 2021-03-21 14:18:41
#2
我要评论
用户登录
记住登录状态
没有账号?
注册
忘记密码?
或
GitHub 登录
Gitea 登录
Go今日面试题
今日阅读排行
一周阅读排行
X
登录和大家一起探讨吧
用户名
密码
记住登录状态
登录
GitHub 登录
忘记密码?
还不是会员
现在注册