首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ Builder >

这个函数有什么有关问题?该怎么修改呢?详细点,马上结贴

2013-10-01 
这个函数有什么问题?该如何修改呢?详细点,马上结贴这个函数有什么问题?该如何修改呢?char *strA(){char st

这个函数有什么问题?该如何修改呢?详细点,马上结贴
这个函数有什么问题?该如何修改呢?
char *strA()
{
     char str[] = "hello worle";
     return str;
}
越详细越好这个函数有什么有关问题?该怎么修改呢?详细点,马上结贴

[解决办法]
char *不要用于返回值,而是要在外面定义好,在函数中直接操作

[解决办法]
return 语句不可返回指向“栈内存”的“指针”或者“引用”,因为该内存在函数体结束时被自动销毁。 

也就是说你的代码中定义的char*在return结束时会被销毁,但在其被重写之前其内容仍然是正确的,此时你可以正常访问这段内存,但这个内存是不被保护的,在下一刻很可能被修改而指向未知数据。

所以,你不要这样写。

热点排行