编程开源技术交流,分享技术与知识

网站首页 > 开源技术 正文

C51单片机 16-4 指针和内存单元的解释

wxchong 2025-08-02 22:23:00 开源技术 4 ℃ 0 评论

我们写程序定义的变量 i 是什么啊,其实就是给内存单元取的一个名字,一个单片机里的内存单元分两种RAM和ROM,

我们把它们想成,有两种房子,

一种是住宅楼有1000个房间,一种是仓库有256个,

住宅楼里安排的住户(就是程序),安排下以后就不可以变动了,

另一种仓库储存的是货物(我们声明的变量的),可以随时拿进拿出,在仓库的门口都有门牌号,每个门牌号都是固定的,当我们让变量 pijiu(啤酒) 放入0x50这个仓库时,当有人来找张三时,我们可以给他们指,那个就是张三家,也可以说门牌号0x50就是张三家。

指针是什么,指针就是存储地址的内存单元(就像是房东),储存的都是门牌号,我不管你是张三住还是李四住这屋,我只知道这个门牌号是我的,当有人打听这个门牌号时,我就可以给他指向这个房子的位置。

& 这个字符又两个含义一个是与的关系也就是相乘的关系,a&b当a=1,b=0,a与b等于a*b=0。 第二个含义就是取地址比如我们定义一个变量 i 当写&i的时候就是把i的地址取出来。

* 也就是乘号 是有三种含义,一种是乘以,5*8=40

一种是定义指针变量 ,我定义个指针变量,unsigned char *zhi;

还有一种是取值的意思

比如有一串数据 unsigned char i=0x26;

我定义个指针变量,unsigned char *zhi;这里的*号是定义的是指针变量的意思

*zhi=i这里的*就是取值的意思 ,*zhi=0x26。

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表