欢迎各界计算机爱好者加入,弘扬极客精神!

Heap与stack的差别??

0 喜欢 0 不喜欢
最新提问 9月 16, 2016 分类:C# | 用户: ssss (132 分)  

2 个回答

2 喜欢 0 不喜欢
 
已采纳
Heap是堆,stack是栈。

Stack的空间由操作系统自动分配/释放,Heap上的空间手动分配/释放。

Stack空间有限,Heap是很大的自由存储区

C中的malloc函数分配的内存空间即在堆上,C++中对应的是new操作符。

程序在编译期对变量和函数分配内存都在栈上进行,且程序运行过程中函数调用时参数的传递也在栈上进行
最新回答 9月 16, 2016 用户: ぴ漏網ず嘀渔 (2,006 分)  
采纳于 9月 17, 2016 用户:ssss
0 喜欢 0 不喜欢

1.heap是堆,stack是栈。2.stack的空间由操作系统自动分配和释放,heap的空间是手动申请和释放的,heap常用new关键字来分配。3.stack空间有限,heap的空间是很大的自由区。在Java中,若只是声明一个对象,则先在栈内存中为其分配地址空间,若再new一下,实例化它,则在堆内存中为其分配地址。4.举例:数据类型 变量名;这样定义的东西在栈区。如:Object a =null; 只在栈内存中分配空间new 数据类型();或者malloc(长度); 这样定义的东西就在堆区如:Object b =new Object(); 则在堆内存中分配空间

最新回答 9月 16, 2016 用户: Edward (2,002 分)  
...