go语言里的指针变量地址和指针变量指向地址

本文探讨了如何在Go语言中操作指针,包括变量内存存储、地址计算,以及使用工具如Cheat Engine和调试器进行内存查看。重点讲解了指针变量的地址追踪和值的16进制转换,适合深入理解内存原理的开发者。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

func main() {
    var huige string
	huige = "huihui666"
	huige2 := &huige
	*huige2 = "huihui777"

	for {
		time.Sleep(1 * time.Second)
		println("内容", *huige2)
		println("获取指针变量地址", &huige2)     //该指针变量地址 存储的是8字节 将10进制数值 转换为16进制后等于指针变量所指向地址
		println("获取指针变量所指向地址", &*huige2) //所指向的真实地址
		println("获取指针变量所指向地址", *&huige2) //与上述一样 所指向的真实地址

		println("获取huige内存地址", &huige) //等于 【获取指针变量所指向地址】指针里的地址
	}

}

指针变量是变量就有自身的内存存储,存储的是字节,字节内容是指向的地址

查看指针指向的值

 

通过计算器计算指向值的16进制

 

刚好等于 指向的地址

 工具可使用 cheat engine去内存查看或搜索或跟踪

也可以使用dbg调试跟踪查看

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值