指针的基本原理

生活中我们给宿舍编号,为了更方便地找到房间。同样的,在计算机中,我们为了更方便地找到内存,给内存单元编号,也就是我们常说的地址。在C语言中我们给地址取了一个新名字:指针。

所以我们可以建议理解为:

内存单元的编号==地址==指针

如何理解编址

计算机之间有很多硬件单元,这些单元之间哟啊相互协同工作的。所谓协同就是至少要能进行数据传递工作的。

但是硬件与硬件之间是相互独立的,如何通信呢?答案很简单,用很多“线”连起来。CPU和内存中也有大量数据交互,所以两者之间必须也用“线”连接起来。

不过我们今天关心一组线,叫做地址总线

32位计算机中有32跟地址总线,每根线只有两种状态,有无脉冲(0和1),那么一根线就可以表示2^32个地址(同理64位计算机中有2^64)。当地址信息被下达给内存,内存上就可以找到对应地址的内存空间中的数据。数据再通过数据总线传入CPU和寄存器。内存中一个字节的空间对应一个地址。

如果需要内存空间把地址存储起来,32位机中需要32个比特位将其存储,即4个字节。64位机中则需要8个字节。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值