阅读量:2
在Go语言中,可以通过以下两种方式来赋值数组指针:
- 使用
&
运算符获取数组的地址,然后将该地址赋值给指针变量。
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]
- 使用
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
函数创建指针变量时,不需要使用 &
运算符获取数组的地址。