- 1
- 0
- 约1.18万字
- 约 12页
- 2018-12-22 发布于福建
- 举报
静态存储娜区堆栈
学习c++如果不了解内存分配是一件非常可悲的事情。而且,可以这样讲,一个C++程序员无法掌握内存、无法了解内存,是不能够成为一个合格的C++程序员的。
一、内存基本构成
可编程内存在基本上分为这样的几大部分:静态存储区、堆区和栈区。他们的功能不同,对他们使用方式也就不同。
静态存储区:内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在。它主要存放静态数据、全局数据和常量。
栈区:在执行函数时,函数内局部变量的存储单元都可以在栈上创建,函数执行结束时这些存储单元自动被释放。栈内存分配运算内置于处理器的指令集中,效率很高,但是分配的内存容量有限。
堆区:亦称动态内存分配。程序在运行的时候用malloc或new申请任意大小的内存,程序员自己负责在适当的时候用free或delete释放内存。动态内存的生存期可以由我们决定,如果我们不释放内存,程序将在最后才释放掉动态内存。但是,良好的编程习惯是:如果某动态内存不再使用,需要将其释放掉,否则,我们认为发生了内存泄漏现象。
二、三者之间的区别
我们通过代码段来看看对这样的三部分内存需要怎样的操作和不同,以及应该注意怎样的地方。
例一:静态存储区与栈区
char* p = “Hello World1”;
char a[] = “Hello World2”;
p[2] =‘A’;
a
您可能关注的文档
最近下载
- 甘肃省兰州市西北师范大学附属中学2025-2026学年高二上学期期中考试数学试卷(原卷版).docx VIP
- 爱普生 BrightLink 575Wi 585Wi 595Wi投影仪用户手册.pdf VIP
- 2025年MATLAB与系统仿真试题及答案.doc VIP
- IATF16949制造过程审核总结报告.docx
- 2026年西藏公务员考试申论试题(行政执法卷)及答案.docx VIP
- 2026年上海市黄浦区中考二模跨学科案例分析试卷含详解.docx VIP
- 广州市十校联考2026-2027学年高三上学期10月适应性训练物理试题(含答案).pdf
- 新航路的开辟 课件高三统编版历史二轮专题复习.pptx VIP
- 防高处坠落专项施工方案.docx VIP
- CMM软件:PC-DMIS 二次开发_(1).PC-DMIS基础知识.docx VIP
原创力文档

文档评论(0)