No.24474 作者:Heaven 邮件:shenbh2002@163.com ID:10894 登陆:2次 文章数:2篇 最后登陆IP:202.38.202.100 最后登陆:2003/4/23 10:38:39 注册:2003/4/4 17:41:03 财富:57 发帖时间:2003/4/11 15:56:47 发贴者IP:202.38.202.100 标题:Heaven:请问:定义的全局变量的值为什么会被其他变量覆盖 摘要:No.24474请问:定义的全局变量的值为什么会被其他变量覆盖 请问各位高手:我的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]的值,请问这是为什么?全局变量的值怎么会被覆盖呢? ......
>>返回讨论的主题
|