指针和内存地址

不能将内存地址与指针混为一谈。 内存地址是内存中每个字节单元的唯一编号,而指针则是一个实体。指针会分配内存空 间,相当于一个专门用来保存地址的整型变量。

指针和内存地址是两个相关但不同的概念:

  • 内存地址:这是内存中每个字节单元的唯一编号。它标识了数据在物理或虚拟内存中的位置。简单来说,内存地址就是内存空间中的一个坐标,用于定位存储的数据。

  • 指针:指针是一个变量,它的值是一个内存地址。换句话说,指针是用来存放内存地址的实体。与普通变量不同的是,普通变量存放的是直接的数据值,而指针存放的是另一个变量的地址。因此,指针确实需要分配自己的内存空间来存储这个地址值。

在Go语言中,当你声明一个指针并使用&操作符获取某个变量的地址时,例如:

a := 1
p := &a // p是指向变量a的指针

在这个例子中,&a返回的是变量a的内存地址,而p则是一个指针变量,它被分配了足够的内存空间来保存这个地址。当你说“指针会分配内存空间,相当于一个专门用来保存地址的整型变量”是非常准确的描述。不过需要注意的是,虽然指针可以像整型那样表示地址,但它并不是真正的整型变量,因为它支持特定的操作(如解引用*),这些操作对于普通的整型变量是不可用的。

posted @   仁义礼智信的  阅读(0)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 在鹅厂做java开发是什么体验
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
历史上的今天:
2023-02-13 优雅重启php-fpm
2020-02-13 Mac 与 Linux 之间传输文件
2020-02-13 PHP storm 破解
2019-02-13 php中慎用==
点击右上角即可分享
微信分享提示