Go语言 之变量内存与地址


package main

import (
    "fmt"
)

func main() {
    var a int = 10
    //每个变量都有两层含义,变量的内存和变量的地址
    fmt.Printf("a = %d\n", a)  //变量的内存 10
    fmt.Printf("a = %v\n", &a) //变量的地址 0xc042060080

    //保存某个变量的地址,需要指针类型, *int保存int的地址, **int保存*int的地址
    //声明(定义),定义只是特殊的声明
    //定义一个变量p,类型为*int
    var p *int
    p = &a
    fmt.Printf("p = %v, &a = %v\n", p, &a)
    *p = 666 //*p操作的不是p的内存,是p指向的内存(其实就是a)
    fmt.Printf("*p = %v, a = %v\n", *p, a)
}

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM