A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 蔡军 中级黑马   /  2012-3-23 23:59  /  1444 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

求解堆和栈的含义,它们俩的区别?

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

3 个回复

倒序浏览
栈区(stack)由编译器自动分配释放,存放函数的参数企,局部变量的值等。其操作方式类似于数据结构中的栈
堆区(heap)由程序员分配释放,若程序员不释放,程序结束时可能由OS回收。

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
     假如你定义了一个类Person 实例化的时候Person p=new Person();//我们这里使用它的默认构造函数,首先实例化的p是一个变量,它存放在栈区,是用new运算符申请的内存区域在堆区,你实例化的那个变量p指向了new 申请的内存区域。我们写的代码除了在堆区跟栈区还有静态常量区,比如我们利用const声明的变量就是在静态常量区。

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
   如果那里描述的不对或者不够准确你及时告诉我,共同进步!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马