深入理解指针:一文让你彻底理解指针

好多人都说指针很难,其实指针并不难,你不是不懂指针,你是不懂内存管理,搞懂内存管理,指针就是纸老虎
内存物理上的实现我们不用关心,这是硬件工程师需要关心的问题,作为软件工程师,我们只需要了解内存的抽象逻辑即可
在学习内存管理之前,我们先来复习一下计算机的存储单位

计算机的存储单位

在计算机中,一个二进制位是最小的存储单位,只有0和1两种状态,我们称之为位(bit)
8个位组成一个字节(Byte),继续往上,使用1024为进制单位,即就是我们常说的1024Byte=1KB,后面还有1024KB=1MB,1024MB=1GB等等。严格来说,B才是他们的单位,而K、M、G不是单位,它们只代表数量,实际上,KB只是KByte的缩写。1KB严格说其含义是1K个Byte,也就是1024个Byte,其他同理。
这里提一句题外话,我们在办理宽带时,明明是100M的网线,为毛下载速度只有10M/S?严格说,宽带的100M指的是100Mbps,和上面的一样,Mbps不是单位,bps才是单位,bps的含义是每秒传输的二进制位数,而100Mbps指的是每秒传输100M个二进制位,也就是100x1024x1024个bit。而我们下载时显示的速度是以字节为单位的,是宽带的数据除以8之后的结果,这就是100M网线下载速度只有10M/S的原因。

内存的逻辑结构

先看张图
内存逻辑结构
在逻辑上,我们把内存分成一个一个的小格子,每个小格子就是一个字节,而每个字节又有8个位。同时为每个小格子编上编号,而这个编号就是我们常说的内存地址。我们常说的计算机有4G内存指的就是计算机有4x1024x1024x1024个存储单元。

为什么32位系统只支持4G内存

关于CPU的体系结构不是本文的重点,不作详细说明,这里只是简单提一下。CPU在读取内存数据的时候,需要通过地址总线进行寻址,而32位的

  • 22
    点赞
  • 111
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

木千

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值