package mainimport "fmt"func main() { /* 数组指针: 首先是一个指针,一个数组的地址 存储的是数组的地址 *[4]int 指针数组: 首先是一个数组,存储的数据类型是指针 [4]*type *[5]float64 指针,一个存储了5个浮点型数据的数组的指针 *[3]string 指针,一个存储了3个字符串 [3]*string 数组,存储了3个字符串的指针地址 [5]*float64 数组,存储了5个浮点型的数组地址 *[5]*float64 指针,一个数组的指针,数组中存储5个float64的数据的地址 *[3]*string 指针,一个数组指针,存储了3个字符串地址 **[4]sting 指针,存储了4个字符串数据的数组的指针的指针 **[4]*string 指针,存储了4个字符串的数据的地址的数组,的指针的指针 */ // 1.创建一个普通的数组 arr1 := [4]int{1, 2, 3, 4} fmt.Println(arr1) //2. 创建一个指针,存储该数组的地址====> 数组指针 var p1 *[4]int p1 = &arr1 fmt.Println(p1) fmt.Printf("%p\n", p1) //3. 根据数组指针,操作数组 (*p1)[0] = 100 // 简写 p1[0]=100 fmt.Println(arr1) // 4. 指针数组 a := 1 b := 2 c := 3 d := 4 arr2 := [4]int{a, b, c, d} arr3 := [4]*int{&a, &b, &c, &d} fmt.Println(arr2) fmt.Println(arr3) arr2[0] = 200 fmt.Println(a) *arr3[0] = 300 for i := 0; i < len(arr3); i++ { fmt.Println(*arr3[i]) } fmt.Println(a)}
文章来源:智云一二三科技
文章标题:数组指针&指针数组
文章地址:https://www.zhihuclub.com/5893.shtml