c语言中地址值是什么意思,单片机C语言中如何区别是地址还是数值啊?

这个问题回答的很好,又解决我的一个疑问!!!

比如在一个文件中,有两个语句sfr16 CAN0DAT = 0xD8;CAN0DAT = 0x00b3;第一个语句是不是表示定义CAN0DAT的地址是0xD8?那第二句跟第一句是一样的意思吗?也是表示地址还是第二句就是把0x00b3这个数值赋给0xD8这个地址?这两句有什么不同啊。。。。。,晕了

2010-12-09 11:39

提问者采纳

这两句的不同就在sfr16指令。sfr16是一个宏定义指令,即为地址为0xD8的这个16位寄存器取个名字CAN0DAT,没有其它的意思。宏定义之后,下面这个语句CAN0DAT = 0x00b3;相当于:0xD8 = 0x00b3;,不过C里面不允许这样操作,所以就出现了sfr16这个指令。语句CAN0DAT = 0x00b3;是对地址为0xD8的这个16位寄存器赋值0x00b3,就是把0x00b3这个数值赋给0xD8这个地址。

非本作者版权,版权归原链接作者所有:http://zhidao.baidu.com/link?url=gWRabUorpAkA4OEtdgYksuRgqvJlcxhjiuAHe8Zk20jB1Mfp1A2VV8urckxjQRmqSx-XkO0BTBaKKqlrBqiq8K

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值