在函数中返回了一个局部变量的地址或者引用,而这个局部变量在函数结束时其生命周期就结束了,内存就被释放了。当外部访问到该变量的内存,所在指针或者引用会返回一个意想不到的值。
例如:
char* func()
{
char chTest[10] = { 0 };
// ......
return chTest;
}
在函数中返回了一个局部变量的地址或者引用,而这个局部变量在函数结束时其生命周期就结束了,内存就被释放了。当外部访问到该变量的内存,所在指针或者引用会返回一个意想不到的值。
例如:
char* func()
{
char chTest[10] = { 0 };
// ......
return chTest;
}