基本上,我想要的是从函数(或一般的数组)返回一个字符串。
type_string(?) Function_foo(type_string(?) string_foo)
{
......
return String_bar;
}
printf("%s", function_foo(string_foo));这应该会给出string_bar作为输出。这有可能吗?到目前为止,我已经看过的所有问题,都给出了特殊的用法,答案也是针对这一点的。
发布于 2013-09-25 22:59:57
当您创建一个char[]并从一个字符串中返回它时,您实际上从程序堆栈中获得了该char[]的内存。当您的函数返回时,char[]将失去其作用域,并可能包含一个垃圾值。因此,您应该使用malloc来定位char *,这样您将从堆中获取内存,您将不得不在调用函数中使用free()。
https://stackoverflow.com/questions/19006976
复制相似问题