function returns address of local variable
function returns address of local variable
函数返回地址都是不安全的,因为函数结束后,函数变量的内存都会释放,因此这个地址其他运用程序也可以用到,会被修改。
你用第二种没有那个警告,但是也是不安全的。
只要返回的是个地址,就不安全。当操作系统把这个内存分配给其他程序时,就会被修改。
比如这样:
char * testout()
{
char p[] = "abc";
return p;
}
int main()
{
printf("%s\
原创
2020-08-30 21:17:32 ·
826 阅读 ·
0 评论