GO语言数组的内存
程序员文章站
2022-04-03 07:56:58
...
GO语言数组有一个16进制的首地址(内存地址)使用%p可以查看!
%p(以十六进制(基数为16)表示的一个值的地址,前缀为0x,字母使用小写的a-f表示)
package main
import "fmt"
func main() {
arr()
}
func arr() {
//创建数组 ---数组名 长度 类型
var arr1 [4]int
//数组的访问,下标设置
arr1[0] = 1
arr1[1] = 2
arr1[2] = 3
fmt.Printf("%p\n", &arr1) //0xc000018400
fmt.Printf("数组第一个元素地址:%p\n", &arr1[0]) //数组第一个元素地址:0xc000018400
fmt.Printf("数组第二个元素地址:%p\n", &arr1[1]) //数组第二个元素地址:0xc000018408
fmt.Printf("数组第三个元素地址:%p\n", &arr1[2]) //数组第三个元素地址:0xc000018410
fmt.Printf("数组第四个元素地址:%p\n", &arr1[3]) //数组第四个元素地址:0xc000018418
arr1[0] = arr1[1] //赋值
fmt.Printf("查看数组第一个元素被复制后数组的地址%p\n", &arr1) //查看数组第一个元素被复制后数组的地址0xc000018400
fmt.Printf("查看数组首个元素被复制后的地址第一个元素的地址%p\n", &arr1[0]) //查看数组首个元素被复制后的地址第一个元素的地址0xc000018400
//var arr7 = [...]int{1, 2, 3, 4, 5, 6}
//fmt.Println(arr7)
}
//数字在内存中开辟的是连续的内存,数字的地址是数组的首地址也是第一个元素的地址!
上一篇: 看透内存中的数组
下一篇: 9件人生中无能为力的事。。。