请问:定义的全局变量的值为什么会被其他变量覆盖
请问各位高手:我的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