2 u013179958 u013179958 于 2016.03.26 13:13 提问

栈是不是就是计算机的内存条啊?

书里面说的栈,可以直接理解为计算机的内存条的存储结构吗?
书里面说的栈,可以直接理解为计算机的内存条的存储结构吗?
书里面说的栈,可以直接理解为计算机的内存条的存储结构吗?

6个回答

qinjisheng_11
qinjisheng_11   2016.03.26 21:16
已采纳

你直接把它当成内存的一块区域,看成水桶,你只能从桶口往里面加水,还必须从桶口往外舀水就行啦

u013179958
u013179958 这个比喻好
一年多之前 回复
GoldenYa
GoldenYa   2016.03.26 13:26

内存条是物理的,虽然栈的数据在内存上,但栈是虚拟的

w1eix1iao
w1eix1iao   2016.03.26 15:21

你的理解已经很好了,此外,计算机有个叫做“栈寄存器”的东西用于标识栈在内存中的位置。目前来说,这个寄存器对程序员是透明的(也就是你不用理会他的工作过程,并且你也无法改变他的工作过程)。
还有一点,栈的大小是不能超出一定范围的,不信的话你可以在一个函数里面定义一个1千万长度的int型数组,编译器是不会通过的,因为在函数中定义的局部变量需要放到栈,而栈容纳不了这么多数据(解决方法是在数组前面添加关键字static,这样编译器就会把数组放到内存其他位置而不是栈)。

Tom_Lang_666
Tom_Lang_666   2016.03.26 14:12

看看数据结构的栈,打打利用栈来编程的程序就明白了

Tom_Lang_666
Tom_Lang_666 回复据说名字太长不容易被发现: 不搞硬件的话,你只要知道栈是一种数据结构,特点是先进后出
一年多之前 回复
u013179958
u013179958 大二的时候,老师教过,就是告诉,栈是先进后出的,其余的啥也没说
一年多之前 回复
Royal_lr
Royal_lr   Ds   Rxr 2016.03.26 15:34

不能一概而论,,内存条包含的东西有很多,,

qq_17152131
qq_17152131 栈是一种数据存储结构,内存条是存放数据的地方。在操作的时候,可以把一块内存在软件上设置为栈;有的内存本身在硬件上就已经具备栈的存储特性,那么就可以直接以先进后出的方式存取数据。
一年多之前 回复
u013179958
u013179958 例如
一年多之前 回复
lyhoo163
lyhoo163   Rxr 2016.03.27 08:22

内存条是物理的,这提供保存读取数据的的仓库。

栈是在内在中,开辟的一段。好比在仓库中,提供的几个货架。用于存放数据的专用货架。

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!