温馨提示×

go语言数组指针怎么赋值

小亿
102
2023-10-25 17:41:31
栏目: 编程语言

在Go语言中,可以通过以下两种方式来赋值数组指针:

  1. 使用 & 运算符获取数组的地址,然后将该地址赋值给指针变量。
package main

import "fmt"

func main() {
    arr := [3]int{1, 2, 3}
    var ptr *[3]int
    ptr = &arr

    fmt.Println(ptr)  // 打印指针变量的地址
    fmt.Println(*ptr)  // 打印指针变量指向的数组的值
}

输出结果:

&[1 2 3]
[1 2 3]
  1. 使用 new 函数创建一个指向数组的指针,并通过赋值操作为指针变量分配内存。
package main

import "fmt"

func main() {
    ptr := new([3]int)
    *ptr = [3]int{4, 5, 6}

    fmt.Println(ptr)  // 打印指针变量的地址
    fmt.Println(*ptr)  // 打印指针变量指向的数组的值
}

输出结果:

&[4 5 6]
[4 5 6]

注意:使用 new 函数创建的指针变量是动态分配的内存,而不是静态数组的指针。因此,在使用 new 函数创建指针变量时,不需要使用 & 运算符获取数组的地址。

0