本文主要是介绍c++语言内存四区的概念:栈区,堆区,全局区,代码区,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
c++语言内存四区:栈区,堆区,全局区,代码区
栈区:又称为临时区,程序结束操作系统会自动回收内存。特点是内存提取速度快,但是容量有限,例如 int a=10; int buf[100]; 都属于栈区定义的。
堆区:c语言通过malloc/free 函数申请和释放堆区内存,c++语言通过new/delete 操作符申请和释放堆区内存,程序结束需要程序员手动释放内存,否则会造成内存泄漏,严重时会导致程序或电脑崩溃。特点是:内存提取速度慢,但是容量很大,适合申请大片内存空间。
例如: char *p1=(char*)malloc(10*sizeof(char)); free(p1);
char *p2=new char[100]; delete[] p2;
全局区:又称为常量区,指的是存放:全局变量,静态变量和常量的地方, 程序结束释放。
例如: int g_a=10; static int b=100; char *p= “abcd”;
代码区:指存放代码的地方,程序结束释放。
这篇关于c++语言内存四区的概念:栈区,堆区,全局区,代码区的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!