函数返回地址都是不安全的,因为函数结束后,函数变量的内存都会变释放,因此这个地址其他运用程序也可以用到,会被修改。你用第二种没有那个警告,但是也是不安全的。只要返回的是个地址,就不安全。当操作系统把这个内存分配给其他程序时,就会被修改。比如这样。char * testout(){char p[] = "abc...
候不会?原理是什么? 海蓝蓝mmw浏览278次其他分享举报 我写了两个程序来测试: 程序一: void* multireturn(){ int b=7; return &b; } 编译时报错:function returns address of local variable。 程序二: void* multireturn(){ void* temp; int b=7; temp=&b; return temp; } 这次就没有报错。 .....
• Can share the same name with local variable, but the latter is useful within the naming function. • should be declared if use it before its definition. Local variables and external variables extern int a; main( ) { int I;