c++ 内存分区模型

目录

全局区

代码区

栈区

堆区

new操作符


c++ 内存分区模型_第1张图片

 前言:

c++程序在执行时,将内存分为四大区域:

全局区:存放全局变量和静态变量以及变量。

代码区:存放函数体的二进制代码,由操作系统进行管理的。

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

堆区:由程序员分配和释放,若程序员不释放,程序结束时由操作系统回收

全局区、代码区:

c++ 内存分区模型_第2张图片

放在int main外面和函数外面的变量叫做全局变量 , 在int main 中或者函数中的变量叫做普通局部变量 ,在普通变量前边加上一个static的叫做静态变量 , 也放在全局区域中

 引号中的叫做字符串常量也放在全局区域中

总结图:

c++ 内存分区模型_第3张图片

栈区: 

c++ 内存分区模型_第4张图片

     形参也会放在栈区

 

c++ 内存分区模型_第5张图片

堆区 :

c++ 内存分区模型_第6张图片

new操作符:

c++ 内存分区模型_第7张图片

c++ 内存分区模型_第8张图片

 new后面的类型要和指针的类型一致,如图中两个int类型.

c++ 内存分区模型_第9张图片

 释放后再打印就会报错

在栈区利用new开辟数组:

c++ 内存分区模型_第10张图片

 

你可能感兴趣的:(C++,c++,开发语言,后端)