导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→请问:定义的全局变量的值为什么会被其他变量覆盖

* 24474: 请问:定义的全局变量的值为什么会被其他变量覆盖

   Heaven 
Heaven发表的帖子 

 请问:定义的全局变量的值为什么会被其他变量覆盖
请问各位高手:我的Keil C程序中,定义的全局变量的值为什么会被其他变量覆盖?

由于程序较大,内部数据空间不够,很多变量都定义在外部数据空间,在程序中定义以下几个全局变量(还有其他很多全局变量未列出):
uchar xdata *xdata str[10];
uchar xdata *xdata var_ip[10];
uchar xdata *xdata var_p[10];

在main()函数中先给str赋值,经检查输出没问题,再给var_ip赋值,输出。如下:
for(i=0;i  <10;i++)
{
 str[i]赋值;//字符串.
 输出str[i];  //输出没问题
 var_ip[i]赋值;//字符串 
 输出var_ip; //输出也没问题
}

可是在for语句之后再用for语句输出各个str就有问题了。
所有的str[i]都变成了var_ip[9]的值,请问这是为什么?全局变量的值怎么会被覆盖呢?




发表时间:2003年4月11日15:56:47

  
回复该帖

本主题共有 3 帖,分页:>>>>>该主题的所有内容[3]条

 *树形目录 只列出部分跟帖的标题以及简单的摘要信息 该主题的部分跟帖如下:

  24778.[详细]这么多高手,为什么没人回我的问题?
摘要:......(无内容)
- [Heaven][917次] 2003年4月12日

  25583.[详细]因为呢定义的其他变量比如数组使用时超出了定义的范围,检查一下编译结果中symble的地址,看看它前..
摘要:因为呢定义的其他变量比如数组使用时超出了定义的范围,检查一下编译结果中symble的地址,看看它前面的数组的使用情况 ......(112字)
- [guest][870次] 2003年4月16日

[上一篇帖子]:多谢非常感谢,以后多多指教![em11][em11]
[下一篇帖子]:招聘[U][size=4][color=#00FF00][B]招聘 工作性质:单片机类应用产