1.静态存储区域分配
内存分配在程序编译前完成,存在于整个程序执行期间,如全局变量、静态变量等。。
2.栈分配
函数执行时,会在栈上创建函数内局部变量的存储单元,执行完成后这些存储单元会自动释放功能。
3.堆分配
堆分配(也称为动态内存分配)。程序在运行时使用malloc或new来申请内存,程序员使用free或delete来释放它。动态记忆的持续时间是由我们自己决定的。
扩展信息
在堆栈上分配数组
#include
usingnamespacestd;
voidmain()
{
int**arr=NULL;//int类型二-维数组
introws,columns;
>rows;//2>columns;//3//这里代码,根据行和列在栈上分配一个arr数组
…你的代码…
//给数组元素赋值
for(introwIndex=0;rowIndex for(intcolumnIndex=0;columnIndex { arr[rowIndex][columnIndex]=columnIndex+(rowIndex+1)*1000+1; } } //打印数组的每个元素 for(rowIndex=0;rowIndex { for(intcolumnIndex=0;columnIndex { printf("%d",arr[rowIndex][columnIndex]); } printf("\n");
三、在F盘安装了一个虚拟机,给虚拟机安装了一个系统,分配20G内存,请问这个内存占用的是C盘还是F盘的位置虚拟系统的磁盘空间被物理硬盘占用。它实际上是存在于物理磁盘上的特定格式的文件。虚拟机是一个后缀为.vmdk的文件。
虚拟磁盘文件的默认大小是动态变化的,即根据虚拟系统的实际空间实时动态分配(例如,如果您在虚拟系统中安装了其他软件)系统中,它的大小也会相应地改变并变大),如果您在创建虚拟机时没有选择“立即分配”方式,它将直接占用您在物理分区上设置的虚拟磁盘大小(例如,我分配了)。8G并选择“立即分配”方法。那么虚拟磁盘文件大小立即为8G)。
上一篇:oppoa37怎么扩展内存
下一篇:静态内存和动态内存