指针秒懂1(如梦初醒):

想要理解指针,先要理解内存(指针概念篇)

1.内存是计算机上的一种存储介质,也可以理解为存储空间。

 现在电脑一般有8G/6G

程序运行的时候会载入内存

程序中如果有数据需要储存,也会申请内存空间。 

如果想知道程序运行的时候会载入空间,你只需要打开任务管理器即可,(打开任务管理器的方法:按住ctrl+alt+del) 例如QQ在运行占了257.2MB内存,即申请了内存空间。如下

c57086fb63b74f70ae0c1ad2f49bb21a.png

 0c5dc3e1b86b49cf818c09b03ef9b4d3.png

2.电脑是怎样管理和分配内存的呢

我们把内存比作一栋楼,里面有很多房子,我们给房子编号,即门牌号。我们把一个内存单元比作房子,把指针比作地址。(实践中,一个内存单元大小是一个字节)

ee87f230fa6e4f03b5e8ba5e0b04757c.png

我们买的电脑一般是64位或者32位的操作系统,下面用32位操作系统举例说明

78f77f0075e34c92bc8393ffa75b33d0.png

32位机器会有32根地址线,地址线如果通线,(电信号会有高电频低电频 ,对应的是二进制中的1和0),32根地址线转化成二进制,所对应数字信号的所有可能性就是:

00000000000000000000000000000000  这个二进制序列作为第一个内存单元就是0

00000000000000000000000000000001  这个二进制序列作为第一个内存单元就是1

00000000000000000000000000000010

 ……

11111111111111111111111111111111   

 

总共可产生2的32次方次方个二进制序列,每一个代表内存单元的编号,就可以作为2的32次方个地址,一个地址管理1个内存单元,那么就可以管理2的32次方个内存单元,也就是管理2的32次方个字节的内存空间

 

内存单元的编号、在c语言中就叫做指针。

 

3.那么232个字节(byte)是多大呢 一个字节是8个比特位

513bf07f2e7e464e90dcba6ba7017d8e.jpg

 

0001 0000 0000 0000 0000 0000 0000 0000 0000

从左往右第一个0代表的是2的0次方,那么从左往右第33个1代表的就是2的32次方。

  1kb=1024byte 1mb=1024kb 1gb =1024 mb

  经过计算得到2的32次方个字节是4GB。

 

下篇预告:指针秒懂2(小牛试刀)

 

 

 

  • 8
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 8
    评论
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值