为什么全局变量的数据在调用之后被改变了?
我在一个程序里定义了一个全局变量,BYTE temp[90];在一个子程序中,将它赋值;在另外的子程序中读取该数据。因为数据长度的原因,需要三次才能取走,使用
function(char * result, int i)
{
if (i==0)
{
memcpy(result,temp,30);
}
else if (i==1)
{
memcpy(result,temp+30,30);
}
else if (i==2)
{
memcpy(result,temp+60,30);
}
}
的方式运行,在运行时发现有时 temp 的数据到result拷贝错误,不知道什么原因?请高手指点。