数据结构的堆栈和内存空间的堆栈有什么区别和关系吗?

如题所述

数据结构中的一般称“栈(stack)”,是一种后进先出的数据结构。它是一种概念,或者说是一种逻辑技术,与语言、平台无关。

内存管理中的“堆栈”其实是分为堆(heap)和栈(stack)的,以引用变量为例,引用变量本身存储在栈中,引用变量指向的值存储在堆中。

如int[] arr = {1, 2, 3};

变量arr(数组名)存储在栈中,变量arr的值(数组元素)存储在堆中(普通结构)。

内存管理中的栈采用的就是数据结构中的栈的思想,即遵循后进先出的管理方法。

好比数据结构中的栈是一项先进的技术,在内存管理中采用了该技术,在CPU的调度中可能也采用这种技术。

温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答