打印

char *addr=0xc000 和char xdata *addr=0xc000有何区别?

[复制链接]
1811|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
ycz9999|  楼主 | 2010-12-6 01:27 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
char *addr=0xc000;
char xdata *addr=0xc000;
除了在内存中占用的字节不同外,还有别的区别吗?

char *addr=0xc000; 是通用定义,指针变量 addr 可指向任何内存空间的值;
char xdata *addr=0xc000; 指定该指针变量只能指向 xdata 中的值;
后一种定义中该指针变量(addr)将少占用一个存储字节。

   
uchar xdata *addr=0xc000;指针指向外ram;
如果:data uchar xdata *addr=0xc000;指针指向外ram但指针本身存在于内ram(data)

以此类推可以idata uchar xdata *addr=0xc000;pdata uchar xdata *addr=0xc000;
data uchar idata *addr=0xa0;.........

相关帖子

沙发
ayb_ice| | 2010-12-6 08:26 | 只看该作者
都是指针,指向不同的目标

使用特权

评论回复
板凳
losedmylife| | 2010-12-6 08:38 | 只看该作者
恩 写的很好 有道理 感谢楼主啊

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

857

帖子

1

粉丝