看书上说声明的变量只是在函数存在的时间有效,函数返回时就会被释放。
然后我就试了一下,代码如下:
#include<stdio.h>
int f(int **iptr)
{
int a=10;
*iptr=&a;
return 0;
}
int main()
{
int **jptr;
f(jptr);
printf("%i\n",**jptr);
}
按理说不应该是f函数结束后变量a就会被释放,此时*iptr应该是一个悬空指针啊,为什么我编译运行程序的时候
还是可以输出a的值为10,谢谢啦,这里不是很理解。