在理解指针数组的概念之前,让我们考虑以下示例,该示例使用3个整数的数组-
package main import "fmt" const MAX int=3 func main() { a := []int{10,100,200} var i int for i=0; i < MAX; i++ { fmt.Printf("Value of a[%d]=%d\n", i, a[i] ) } }
编译并执行上述代码后,将产生以下输出-
Value of a[0]=10 Value of a[1]=100 Value of a2]=200
在某些情况下,我们需要维护一个数组,该数组可以存储指向int或字符串或任何其他可用数据类型的指针,以下语句声明了一个指向整数的指针的数组-
var ptr [MAX]*int;
这将 ptr 声明为MAX整数指针的数组,因此,ptr中的每个元素现在都拥有一个指向int值的指针。以下示例使用三个整数,这些整数将按如下方式存储在指针数组中:
链接:https://www.learnfk.comhttps://www.learnfk.com/go/go-array-of-pointers.html
来源:LearnFk无涯教程网
package main import "fmt" const MAX int=3 func main() { a := []int{10,100,200} var i int var ptr [MAX]*int; for i=0; i < MAX; i++ { ptr[i]=&a[i] /* 分配整数的地址。 */ } for i=0; i < MAX; i++ { fmt.Printf("Value of a[%d]=%d\n", i,*ptr[i] ) } }
编译并执行上述代码后,将产生以下输出-
Value of a[0]=10 Value of a[1]=100 Value of a[2]=200
祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)