可能重复:
从 C 中的函数返回局部变量
我想得越多,我就越不确定为什么这不是一个好主意......编译器抱怨让函数内部的自动变量返回给调用者。例如:
char * foo() {
char bar[11];
fgets(bar, 10, stdin);
return bar;
}
相对:
char bar[11];
char * foo() {
fgets(bar, 10, stdin);
return bar;
}
我可能没有多大意义。我不太明白在里面有一个指针声明的问题,调用者会不会只是假设内存地址?