已关闭,此问题需要details or clarity。目前不接受答复。
**想改善这个问题吗?**通过editing this post添加详细信息并澄清问题。
3天前关闭。
Improve this question
我的假设:
1.第一个是给出切片中第一个元素的地址。
1.第二个是打印arr所持有的地址(应该等于1)。
1.第三个是打印arr本身的地址。
怎么了?
声明:
arr := &[]int{1, 1, 1, 1}
fmt.Printf("%p\n", *arr)
fmt.Printf("%p\n", arr)
fmt.Printf("%p\n", &arr)
输出:
0xc000014180
0xc000008078
0xc00000a028
1条答案
按热度按时间v8wbuo2f1#
arr是指向切片的指针,而不是数组。
将创建一个指向数组的指针,该指针的行为更接近您的预期。