func main() {
var a int = 10
fmt.Println("a :", &a)
var p *int = &a
fmt.Println("p1 :", p)
fmt.Println("p2 :", &p)
fmt.Println("p3 :", *p)
fmt.Println("p4 :", *(&a))
}
p1是指针变量p所存储的a的地址
p2是指针变量p的地址
p3是间接引用即通过指针变量存储的a的地址取到a的值
如下图:
image.png
空指针
var a int (无法通过a取值会报错)
野指针
用无效的出事化方式
例如:
var p *int = 0
或
var p *int = dx00cx
网友评论