程序中动态分配的内存存放在哪个区域

 我来答
海绵宝宝的休闲娱乐
高能答主

2021-12-22 · 致力于成为全知道最会答题的人
知道答主
回答量:1342
采纳率:20%
帮助的人:22万
展开全部

程序中动态分配的内存存放在堆内存区域。

叫“堆”。c语言:char *p1; //若是全局量,则在全局未初始化区,若是局部量,则在栈中。p1 = (char *)malloc(10); //分配得来得10字节的区域在堆区。

c++语言: 用 new分配,用 delete释放,在 堆区。用malloc分配,用 free释放,在类似堆区的自由存储区。堆不同于栈,它的数据结构并非由系统(无论是机器系统还是操作系统)支持,而是由函数库提供的。

直接方式:

当时多道程序技术还没出现,存储器的可用空间一般是给定的。那时程序员在编程序时或编译程序对源程序进行编译时,使用实际的存储器地址,这种分配方式使用户与计算机内存直接打交道。

系统资源在某一时刻为一个用户所独占。当多道程序出现时就使用户感到极不方便,因为用户要自己做主存的分配工作,而且内存不止存放一个作业,这要求用户必须知道每一个作业放在主存的什么地方,这无疑增加了用户的负担,况且存储空间的利用率也相当低。

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式