欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

GO语言数组的内存

程序员文章站 2022-04-03 07:56:58
...

GO语言数组有一个16进制的首地址(内存地址)使用%p可以查看!
%p(以十六进制(基数为16)表示的一个值的地址,前缀为0x,字母使用小写的a-f表示)
GO语言数组的内存

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)
}

//数字在内存中开辟的是连续的内存,数字的地址是数组的首地址也是第一个元素的地址!

相关标签: GO语言入门笔记