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

来源:4-3 扩展已有类型

bbmouse

2019-07-01

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

写回答

3回答

ccmouse

2019-07-07

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

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

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

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

3
0

慕仙908892

2019-07-31

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

1
1
ccmouse
是的,go语言可以把这个*node省掉,直接写成node.value
2019-07-31
共1条回复

五栋一哥

2020-02-12

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

0
0

Google资深工程师深度讲解Go语言 由浅入深掌握Go语言

语法+分布式爬虫实战 为转型工程师量身打造

5995 学习 · 1909 问题

查看课程