zoukankan      html  css  js  c++  java
  • 指针

    什么是指针?

    指针是一种存储变量内存地址(Memory Address)的变量。

    如上图所示,变量 b 的值为 156,而 b 的内存地址为 0x1040a124。变量 a 存储了 b 的地址。我们就称 a 指向了 b。 

    三点需注意

        1. &取地址符号
        2. * 放在类型旁边,表示指向这个类型的指针
        3. * 放在变量旁边,表示解引用(反解)
    package main
    
    import "fmt"
    
    func main(){
        a := 10
        b := &a  //b就是一个指针
        fmt.Println(b)  //a地址:0xc000058080
    }

    指针的零值

    指针的零值是 nil

    package main
    
    import "fmt"
    
    func main(){
    
        var a *int
        fmt.Println(a)
    }

    向函数传递指针参数

    package main
    
    import (  
        "fmt"
    )
    
    func change(val *int) {  
        *val = 55
    }
    func main() {  
        a := 58
        fmt.Println("value of a before function call is",a)
        b := &a
        change(b)
        fmt.Println("value of a after function call is", a)
    }

    在上面程序中的第 14 行,我们向函数 change 传递了指针变量 b,而 b 存储了 a 的地址。程序的第 8 行在 change 函数内使用解引用,修改了 a 的值。该程序会输出:

    value of a before function call is 58  
    value of a after function call is 55
  • 相关阅读:
    python 基础 7.1 datetime 获得时间
    Python 学习笔记12
    Python 学习笔记11
    Python 学习笔记10
    Python 学习笔记9
    Python 学习笔记8
    Python 学习笔记7
    Python 学习笔记6
    Python 学习笔记5
    Python 学习笔记4
  • 原文地址:https://www.cnblogs.com/xiongying4/p/12025228.html
Copyright © 2011-2022 走看看