美文网首页
Go语言之数组指针和指针数组

Go语言之数组指针和指针数组

作者: 测试探索 | 来源:发表于2020-06-01 06:50 被阅读0次
    package main
    
    import "fmt"
    
    func main() {
    
        /*
        数值指针:首先是一个指针,一个数组的地址。
        *[4]Type
        指针数组:首先是一个输出,存储的数据类型是指针
        [4]*Type
         */
    //  1.创建一个普通的数组
        arr1 := [4]int{1,2,3,4}
        fmt.Println(arr1)
    
    //   2.创建一个指针,存储该数组的地址--》数组指针
        var p1 *[4]int
        p1 = &arr1
        fmt.Println(p1) //&[1 2 3 4]
        fmt.Printf("%p\n",p1) //数组arr1的地址
        fmt.Printf("%p\n",&p1)//p1指针自己的地址
    
    //   3.根据数组指针,操作数据
        (*p1)[0] = 100
        fmt.Println(arr1)
    
        p1[0] = 200 //简化写法
        fmt.Println(arr1)
    
    //    指针数组
        a := 1
        b := 2
        c := 3
        d := 4
        arr2 := [4] int {a,b,c,d}
        arr3 := [4] *int {&a,&b,&c,&d}
        fmt.Println("arr2是:",arr2) //[1 2 3 4]
        fmt.Println("arr3是:",arr3) //[0xc00000a138 0xc00000a140 0xc00000a148 0xc00000a150]
    
        arr2[0] = 100
        fmt.Println("arr2是:",arr2) //arr2是: [100 2 3 4]
        fmt.Println("a的值是:",a) //a的值是: 1
    
        *arr3[0] = 100
        fmt.Println("arr3是:",arr3) //arr3是: [0xc00000a138 0xc00000a140 0xc00000a148 0xc00000a150]
        fmt.Println("a的值是:",a) //a的值是: 100
    
        b = 1000
        fmt.Println("arr2是:",arr2) //[100 2 3 4]
        fmt.Println("arr3的值是:",arr3) //[0xc00011e0c0 0xc00011e0c8 0xc00011e0d0 0xc00011e0d8]
        for i:=0;i<len(arr3);i++{ //100,1000,3,4
            fmt.Println(*arr3[i])
        }
    
    }
    //结果
    [1 2 3 4]
    &[1 2 3 4]
    0xc00011c140
    0xc000148020
    [100 2 3 4]
    [200 2 3 4]
    arr2是: [1 2 3 4]
    arr3是: [0xc00011e0c0 0xc00011e0c8 0xc00011e0d0 0xc00011e0d8]
    arr2是: [100 2 3 4]
    a的值是: 1
    arr3是: [0xc00011e0c0 0xc00011e0c8 0xc00011e0d0 0xc00011e0d8]
    a的值是: 100
    arr2是: [100 2 3 4]
    arr3的值是: [0xc00011e0c0 0xc00011e0c8 0xc00011e0d0 0xc00011e0d8]
    100
    1000
    3
    4
    

    相关文章

      网友评论

          本文标题:Go语言之数组指针和指针数组

          本文链接:https://www.haomeiwen.com/subject/anadzhtx.html