老古开发网首页
导航:老古开发网首页文章索引文章分类单片机→[char *addr=0xc000 和char xdata *addr=0xc000有何区别?]
| -文章搜索 - 最新文章 - |

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

发布时间:2001年6月6日 点击次数:4156
来源:   作者:
 
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;.........

欢迎进入老古论坛进行讨论
[单片机] 相关文章:
关于idata 变量的定义
简介:
请问各位高手,我在写C51程序时,定义了一个char 数组,但是我想要将它放在高128位的 RAM,但是用仿真器观察内部RAM,发现编译器始终都将它放在低位字节,定义如下: (char idata buff[25];)请高手指点。谢谢!! 在keil c51中,idata是指00-0xff的地址范围,并不是一定会放在00-0x7f,所以,当你的 程序中分配的变量没有超出0x7f时,idata变量也会定位于低128字节。当你的程序中分配的 变量已经超出0x7f时,idata变量会定位于高128字节,此时定义data型变量就会报存储器溢 出错误,因此你现在的情况是正常的。......

如果我想使2EH的第7位置1的话,用位操作可以吗?
关于KEIL C51书哪里可以买到?
c51编程,读端口,还要不要先输出1?
请问哪里有卖sst89c58?
c语言与单片机c语言的差异
我用的是ds80c320,怎样才能让keil使用 dual dptr 
请问如何设置可使 Keil C51 不使用片内某固定区间的数据区?
#pragma asm是什么意思?
keil C51 怎样把修改的startup.a51 加到工程文件中
 
下一个:[单片机]当定时器1(T1)用于产生波特率时,P3^5还是否可以用作正常的I/O口呢?
简介:
p3.5完全可以当普通的io使用......
 

上一个:[单片机]I2C 总线不加外围器件 最大传输距离是多少。

老古开发网版权所有 2006年9月 asp.Net V2.0 设计:老古
页面缓存:10分钟 执行时间:16毫秒