程序的内存模型-内存四区-栈区和堆区
2021/7/22 7:06:31
本文主要是介绍程序的内存模型-内存四区-栈区和堆区,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
- 栈区
点击查看代码
#include<iostream> #include<string> using namespace std; //栈区数据注意事项 -- 不要返回局部变量的地址 //栈区的数据由编译器管理开辟和释放 //形参数据也会放在栈区 int* func() { int a = 10; //局部变量 存放在栈区,栈区的数据在函数执行完后自动释放 return &a; //返回局部变量的地址 } int main(){ //接收func函数的返回值 int *p = func(); cout << *p << endl; //第一次可以打印正确的数字,是因为编译器做了保留 cout << *p << endl; //第二次这个数据就不再保留了 system("pause"); return 0; }
- 堆区
点击查看代码
#include<iostream> #include<string> using namespace std; //在堆区开辟数据 //利用关键字new 可以将数据开辟到堆区 //指针本质也是局部变量,放在栈上,指针保存的数据是放在堆区 int* func() { int *p = new int(10); return p; } int main(){ int *p = func(); cout << *p << endl; cout << *p << endl; system("pause"); return 0; }
这篇关于程序的内存模型-内存四区-栈区和堆区的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-19JAVA分布式id教程:轻松入门与实践
- 2024-11-19Java高并发教程:入门与实践指南
- 2024-11-19JAVA高并发直播教程:新手入门指南
- 2024-11-19Java高并发直播教程:入门与实践指南
- 2024-11-19Java微服务教程:初学者快速入门指南
- 2024-11-19JAVA微服务教程:新手入门的详细指南
- 2024-11-19Java微服务教程:从零开始搭建你的第一个微服务应用
- 2024-11-19Java项目开发教程:初学者必备指南
- 2024-11-19Java项目开发教程:新手快速入门指南
- 2024-11-19Java项目开发教程:零基础入门到实战