请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

老师这个queue本来就是指针,为什么里面还要加指针呢?

图片描述
如红框中queue本来就是指针,为什么下面append还要在queue前面加*,指针的指针?

正在回答 回答被采纳积分+3

3回答

ccmouse 2019-07-07 16:13:45

这个是C语言沿用过来的语法。这两个*不是一个意思。

红框里的*Queue,代表queue是一个指向Queue的指针。

后面的*queue,英文叫dereference,queue是一个地址,加了*之后,我们顺着这个地址,找到queue指向的这个实际的Queue。

append需要对[]int来操作,也就是对Queue类型来操作。通过*queue就可以找到queue所指向的这个Queue,来进行操作 。

3 回复 有任何疑惑可以回复我~
慕仙908892 2019-07-31 19:57:30

https://img1.sycdn.imooc.com/szimg/5d41820d096379df05930135.jpg那为什么treenode设置value的时候不需要*node.Value = value呢

1 回复 有任何疑惑可以回复我~
  • ccmouse #1
    是的,go语言可以把这个*node省掉,直接写成node.value
    回复 有任何疑惑可以回复我~ 2019-07-31 20:06:32
五栋一哥 2020-02-12 23:08:47

通俗的讲就是 *指针名 是取指针地址保存的内容

0 回复 有任何疑惑可以回复我~
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信