系统相关
首页 > 系统相关> > 073.程序的内存模型-内存四区-栈区

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;
}

 

标签:栈区,int,四区,局部变量,地址,内存,func
来源: https://www.cnblogs.com/ceovs/p/15228038.html