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

[复制链接]
2682|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

粉丝
快速回复 在线客服 返回列表 返回顶部
0