Java教程

栈区的程序运行后

本文主要是介绍栈区的程序运行后,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

**

1.2程序运行后

**

栈区:
由编译器自动分配释放,存放函数的参数值,局部变量等。

  • 注意事项:不要返回局部变量的地址,栈区开辟的数据由编译器自动释放

代码示例:

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

欢迎关注微信公众号,您的关注就是我的动力

在这里插入图片描述

这篇关于栈区的程序运行后的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!