搜索
bottom↓
回复: 142

[微知识]求求你,不要再纠结指针了……(1)

  [复制链接]

出0入0汤圆

发表于 2015-12-29 22:04:43 | 显示全部楼层
本帖最后由 knight_avr 于 2015-12-29 22:10 编辑

我看很多人不会指针,就是 没有领悟LZ的思路。
同时很多领悟的人又不能很好的把指针形象的表达出来让不会的来学。这叫作只可意会,不能言传。就像LZ 本来是想简单给人介绍一下指针的实际,可越写越复杂了,还深入地址总线去了(虽然确实和地址总线有息息相关),让不懂的人越发看不懂。懂的人基本不用看。
半懂不懂的人倒是可以深入学习一下,就看其悟性和人品怎样了。

其实很简单:指针、变量、值、寄存器的关系就和其定义一样:指针就是寄存器的地址编号,变量就是给此地址编号的寄存器取个名称,值就是此地址编号的寄存器里面的数据。

形象一点就是: 寄存器比作---箩筐、 那么 指针---箩筐的编号、变量---箩筐的名称、值---就是箩筐里面的苹果的个数
比如:
    获取变量的值--------名称为“ADCVALUE”箩筐中苹果有几个
   使用指针获取值 ------ 告诉我第 n? 好箩筐有几个苹果
   只用指针变量取值 ----- 先告诉我名称为"pADCVAL"箩筐中有9个苹果, 然后到第9个框中数一下有几个苹果
  指针的指针的指针变量取值 ---- 如上,也就是多跳几下而已。


总的来说,任何数据(包括变量指针、数据、函数指针)都需要寄存器储存,都是数据,就看你是把它当数据、数据指针、还是当函数指针看待了。
C语言的强制转换,非常贴切数据的本质(这也是C语言所以千年不老的原因),强制转换不会产生任何多余的代码,只是告诉编译器正确使用此数据而已。
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-4-29 20:44

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表