指针数组和数组的指针,指的是两个不同的东西。

指针数组是有指针组成的数组,数组的指针是一个数组的指针。

定义一个指针数组,例如:var ptr [3]*string

指针数组的例子:

func arraryPointer1() {a := [4]string{"abc", "ABC", "123", "一二三"}//查看数组指针的类型和值fmt.Printf("%T,%v \n", &a, &a)//定义指针数组var ptv [4]*stringfmt.Printf("%T,%v \n", ptv, ptv)//将数组中每个元素的地址复制给指针数组的每个元素for i := 0; i < 4; i++ {ptv[i] = &a[i]}fmt.Printf("%T,%v \n", ptv, ptv)//根据指针数组元素的地址获取该地址所致的元素真实数值fmt.Println(*ptv[0])//遍历指针数组,打印真实数值for _,val := range ptv  {fmt.Println(*val)}
}