指针是什么??弄懂指针三步走!!!!!

针在C语言的地位不用多说,灵魂般的存在!!当时想要真正弄懂指针就要对内存有更深层次的理解!

我们都知道电脑有32 64位,那么这个位到底是啥意思??别急,先把内存搞懂!!

内存,我们的程序是在内存中运行的。假设,把内存比作一个酒店,每个房间都有编号吧,例如比较流行的情趣001号房,普通002号房。内存也是一样的,有相应的内存地址,类似我们的房间号一样。那么再补充个知识点,比特!计算机的最小单元是bit,也就是一个位。依次是字节,KB,MB,G,换算就是 一个位等于8位,

1B=8 Bit
1KB=1024B 
1MB=1024KB 
1GB=1024MB 
1TB=1024GB

那么我们怎么去理解这个这个位与存储单位的关系???

仔细想想,32位,不就是32个比特吗,也就是010101010100101011010。。。有32个!那么我们的内存要分配地址的吧。就跟酒店一样要有房间号,我们假设一个bit代表一个人,一个字节也就是8个bit.我们假设一个字节代表一家人。那么我酒店的房间号怎么规划才合理。首先我们看看手上的条件,我只有32位,也就是32个bit (0101010101010101010100101....共32个),那好我按bit排列组合一下,也就是2的32次方。想想好像2的32次方个房间号挺多的。好假设,我们的内存地址是以一个比特算一个内存地址。那么2的32次方能存多少GB呢?答案是0.5GB(小到离谱)相当于,每个房间价格一样,一个房间却只能住1个人,老板肯定血亏。于是老板想了,要不一家人住一个房间?我们来给老板算算,一个房间住8个比特,那么2的32次方个房间能住2的35次方比特,换算成GB就是4GB!这个时候老板点了点头,说了一声,妙呀~ ~ 就这么决定,毕竟我只有32位。好,有的同学开始问,那为什么要以字节为一个地址,为什么不以KB,MB或者GB那不是更赚钱吗?欸,老实说,我也想知道为什么,但就就是这么规定了,奉劝大家不要装牛角尖!!要不然学起来贼痛苦!记住就行,一个内存地址就是一个字节的编号。理解这个,也是为接下来的指针打好基础!!!

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值