返回值可以返回地址吗??
uchar array_process(void)
{
uchar temp[5];
uchar *p=&temp;
********
********
return p;
}
我想知道这样可以吗,我现在要处理一个数组数据,然后把数据放到变量中去,所以我不想定义一个全局数组吧。
后面我就想这样处理了
void data_process(void)
{
uchar *pp;
pp=array_process();
i=*pp++;
j=*pp
}
求指导啊。。。。
[解决办法]
函数是不能返回局部变量地址的,因为局部变量在栈上,如果不想定义全局变量,可以让函数接受参数,然后你传数组指针进去即可。