我知道这是错误的:
char* getSomething() {
char szLocal[5];
/* Put something in the char array somehow */
return szLocal;
}
...因为szLocal可以在函数返回后的某个时候被销毁。
但这可以吗?
char* getSomethingElse() {
return "something else";
}
这实际上是可以的。字符串文字通常分配在不可变的内存区域中,只要程序运行,该内存区域就保持可用。
另请参阅以下问题的答案c/c++什么时候分配字符串文字.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)