C/C++ 程序 运行 堆区
发布网友
发布时间:2022-12-25 23:49
我来回答
共4个回答
热心网友
时间:2023-10-17 23:18
内存分配方式有三种:
(1) 从静态存储区域分配。内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在。例如全局变量,static变量。
(2) 在栈上创建。在执行函数时,函数内局部变量的存储单元都可以在栈上创建,函数执行结束时这些存储单元自动被释放。栈内存分配运算内置于处理器的指令集中,效率很高,但是分配的内存容量有限。(3) 从堆上分配,亦称动态内存分配。程序在运行的时候用malloc或new申请任意多少的内存,程序员自己负责在何时用free或delete释放内存。动态内存的生存期由我们决定,使用非常灵活,但问题也最多。
热心网友
时间:2023-10-17 23:19
堆 是程序一运行就有的
热心网友
时间:2023-10-17 23:19
堆区的内存空间需要程序员分配
C就是malloc, calloc啥的
C++的new
热心网友
时间:2023-10-17 23:20
程序起运行就有堆区, 可以用pmap看看