C语言 : 指针(1)

⽬录:

1. 内存和地址

2. 指针变量和地址

3. 指针变量类型的意义

4. const修饰指针

5. 指针运算

6. 野指针

7. assert断⾔

8. 指针的使⽤和传址调⽤

---------------------------------------------------------------------------------------------------------------------------------

正文开始

1. 内存和地址

1-1 内存

     内存就如同生活中的房间一样,房间都有门牌号,内存也是这样的,内存划分为⼀个个的内存单元,每个内存单元的⼤⼩取1个字节。

补充:计算机中常见的单位:

⼀个⽐特位可以存储⼀个2进制的位1或者0
 

bit - ⽐特位

byte - 字节

KB

MB

GB

TB

PB

1byte = 8bit

1KB = 1024byte

1MB = 1024KB

1GB = 1024MB

1TB = 1024GB

1PB = 1024TB

    其中,每个内存单元,相当于⼀个学⽣宿舍,⼀ 个⼈字节空间⾥⾯能放8个⽐特位,就好⽐同学们 住的⼋⼈间,每个⼈是⼀个⽐特位。

    每个内存单元都有编号,也就相当于房间的门牌号,有了内存单元的编号,CPU就可以快速找到一个内存空间了。

     在计算机中,内存单元的编号也称为地址。C语音中,给地址起 了新的名字叫:指针。

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

1-2 如何理解编址

⽽CPU和内存之间也是有⼤量的数据交互的,所 以,两者必须也⽤线连起来。

地址总线:我们可以简单理解,32位机器有32根地址总线, 每根线只有两态,表⽰0,1(电脉冲有⽆),那么 ⼀根线,就能表⽰2种含义,2根线就能表⽰4种含 义,依次类推。32根地址线,就能表⽰2^32种含 义,每⼀种含义都代表⼀个地址。

通过地址总线 将地址信息传给内存,在内存上,就可以找到 该地址对应的数据,将数据在通过数据总线传⼊ CPU内寄存器。控制总线进行读与写。

颇有不足,欢迎提建议!

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值