c++语言内存四区的概念:栈区,堆区,全局区,代码区

桃扇骨 2022-06-16 10:58 299阅读 0赞

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

代码区:指存放代码的地方,程序结束释放。

发表评论

表情:
评论列表 (有 0 条评论,299人围观)

还没有评论,来说两句吧...

相关阅读