问题遇到的现象和发生背景
C语言相关资料提到:局部函数里声明的局部变量在函数结束后会被释放。请问怎么理解这个释放,释放的是什么?
用代码块功能插入代码,请勿粘贴截图
#include <stdio.h>
int* pa, ** qa;
void swa()
{
int a = 1;
int* p = &a;
printf("%p\n", p);
pa = p;
int** q = &p;
printf("%p\n", q);
qa = q;
}
int main()
{
swa();
printf("%p\n", pa);
printf("%p\n", qa);
return 0;
}
运行结果及报错内容
为什么在函数结束后,局部变量的地址还能打印出来,而不是NULL?