073.程序的内存模型-内存四区-栈区

#include <iostream>
using namespace std;
//栈区数据注意事项--不要返回局部变量的地址
//栈区的数据有编译器管理开辟和释放

int* func(int b)//形参数据也会放在栈区
{
    b = 100;
    int a = 10;//局部变量存放在栈区,栈区的数据在函数执行完后自动释放
    return &a;//返回局部变量的地址
}
int main()
{
    //接收func函数的返回值
    int* p = func(1);
    cout << *p << endl;//第一可以打印正确的数字,是因为编译器做了保留
    cout << *p << endl;//第二次这个数据就不在保留了

    system("pause");
    return 0;
}

 

posted @ 2021-09-04 22:25  梦之心  阅读(32)  评论(0编辑  收藏  举报