int fun()
{
int a = 10;
return a;
}
int *fun2()
{
int a = 10;
return &a;
}
int *fun3()
{
static int a = 10;
return &a;
}
int b = fun();
//b调用fun函数调用完毕,b=10,int b = fun() 执行完毕后,a这边内存地址,也就释放了,b有可能是10
int *p = NULL;
p = fun2();
//一样,调用fun2函数调用完毕后,a这边区域也被释放了,p指向a的区域,指针p也就成了野指针
int *fun3(){
static int a = 10; //a保存在全局区,有一个好处,程序执行完毕,这片内存区域才释放
return &a
}