主题:c语言书上的一个小问题
c语言书上有这样一段话,我感觉有点问题。
int*fun(……)
{int a[n];
……
……
return b;
}
main中有int *p
p=fun();
然后书后面说“函数不应把b的值作为返回值,由于fun执行完之后,系统将释放b所占内存,数组b将不存在,p将不指向任何对象。”如果这样的话,那函数的返回值是什么意思,我纠结了,难道因为b是数组?谁能解释一下,谢谢。(如果这书坑了我,就把它撕了……)
int*fun(……)
{int a[n];
……
……
return b;
}
main中有int *p
p=fun();
然后书后面说“函数不应把b的值作为返回值,由于fun执行完之后,系统将释放b所占内存,数组b将不存在,p将不指向任何对象。”如果这样的话,那函数的返回值是什么意思,我纠结了,难道因为b是数组?谁能解释一下,谢谢。(如果这书坑了我,就把它撕了……)