我们写程序定义的变量 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。
