# include
void f(int **b)
{
int i;
i = 10;
*b = &i; /*i是局部变量,存放在栈空间,在函数f调用结束后其栈空间被系统回收,所以i的地址就是无效的,也就是main里无法获得i的值*/
}
int main(void)
{
int *a;
/*a是指向int型的指针,f函数要求传入指针的指针,a已经是指针了,只要对a取地址即可,改成f(&a)*/
f(&*a);//这样返回到f函数为什么错了?
printf("%d\n", *a);
//逻辑错误f函数使用完后释放掉,应该是没法读取i的值
return 0;
}