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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 派大星 中级黑马   /  2012-2-14 16:12  /  1772 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

如题.   只知道内存是个硬件.  具体里面看不到. 这个到底什么意思呢?

2 个回复

倒序浏览
堆 heap
栈 stack
是两种不同的数据结构
stack的特点是先入后出 就像叠盘子 先放上去的盘子后拿走(底里的抽不出来自然最后才能拿走)

stack和heap放在一起讨论的话 其实不是讲的数据结构了 是说操作系统给程序分配内存的方式

对于一个程序来说 运行的时候 系统分配了一定内存给它 其中一块叫堆 一块叫栈
堆里面主要放 动态分配的内容 比如c里面用 malloc 分配到的空间 就在堆里 c++里面用new 分配到的也在堆里
栈里面放 函数的局部变量
一个函数的局部变量 会在这个函数被调用时push到栈里 这个函数返回的时候才从栈里面pop出来

栈的先入后出的顺序使得函数可以嵌套 递归 如果递归层数太多 栈也会满 就会出现栈溢出……

评分

参与人数 1技术分 +2 收起 理由
郑文 + 2

查看全部评分

回复 使用道具 举报
只要知道栈是先进后出就行了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马