如何获得指针的地址?

时间:2018-11-26 12:21:37

标签: go

if
  

运行a.go

结果:

地址:c420016078 ip存储的地址:c420016078  ip地址:842350510120

我的问题是:842350510120是ip的正确地址吗?

3 个答案:

答案 0 :(得分:1)

  

我的问题是:842350510120是ip的正确地址吗?

没人能回答这个问题。这取决于您的计算机,甚至在每次运行该程序时都可能会更改。

如果您要询问fmt.Printf("%d", &ip)是否打印ip地址:是。

答案 1 :(得分:1)

如果以一致的基数(十六进制)打印地址,则会看到预期的结果。在Go gc编译器的当前版本中,变量$(window).on('load', function() { $('.preloader').delay(350).fadeOut('slow'); }); i在堆上分配。

例如,

pi

输出:

package main

import "fmt"

func main() {
    var i int = 20
    var pi *int = &i
    fmt.Printf("%x the address of i\n", &i)
    fmt.Printf("%x the address of pi\n", &pi)
    fmt.Printf("%x the address that pi stored\n", pi)
}

答案 2 :(得分:-1)

否,您需要像以前的打印语句中一样打印地址%x。我猜,这就是让您感到困惑的原因,因为地址被读取为整数。

这里的工作代码https://play.golang.org/p/v0UXMQ3fCkd