GoLang学习笔记(十七)指针数组

版权声明:如需转载、粘贴内容,必须在转载和粘贴文中标明文章内容出至 https://blog.csdn.net/ynzcxx/article/details/84784948

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

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

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

指针数组的例子:

func arraryPointer1() {
	a := [4]string{"abc", "ABC", "123", "一二三"}
	//查看数组指针的类型和值
	fmt.Printf("%T,%v \n", &a, &a)

	//定义指针数组
	var ptv [4]*string
	fmt.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)
	}
}

猜你喜欢

转载自blog.csdn.net/ynzcxx/article/details/84784948