#include <iostream>
using namespace std;
//局部变量存放在栈区,不要在函数中返回局部变量的地址,函数退出后,局部变量的内存被系统自动释放
int* print()
{
int a = 10;
return &a;
}
int main()
{
int *p = print();
cout<<*p<<endl;//第一次打印正确的值,是因为编译器做了一次保留;
cout<<*p<<endl;//第二次这个数据就不会保留了;
return 0;
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20