我总是困惑于返回字符串常量还是函数中的字符串。有人告诉我可能会出现内存泄漏,因为你不知道内存何时会被删除?
例如,在下面的代码中,如何实现
此外,如果
例如,在下面的代码中,如何实现
foo()
以使代码输出为“Hello World”?void foo ( ) // you can add parameters here.
{
}
int main ()
{
char *c;
foo ( );
printf ("%s",c);
return 0;
}
此外,如果
foo()
的返回类型不是void,但你可以返回char*
,那么应该怎么做?
char*
而不是char const*
,这实际上迫使我们假定一个普通的字符串字面值不能满足要求,因此return "hello world";
是无效的解决方案。您对常量性有什么要求? - Johannes Schaub - litb