社区
C语言
帖子详情
栈内存 与 数据结构中的栈有什么区别 是一样的吗
as123456789d
2011-08-07 02:46:41
局部变量是存放在栈中的,,,
这个栈是本身就有的,还是由系统创建军的?
栈内存 与 数据结构中的栈有什么区别 是一样的吗
数据结构中的栈,只是人为创建的一种存储数据的一种方式,尊循 先进后出的原则
栈内存也是这样吗
...全文
345
13
打赏
收藏
栈内存 与 数据结构中的栈有什么区别 是一样的吗
局部变量是存放在栈中的,,, 这个栈是本身就有的,还是由系统创建军的? 栈内存 与 数据结构中的栈有什么区别 是一样的吗 数据结构中的栈,只是人为创建的一种存储数据的一种方式,尊循 先进后出的原则 栈内存也是这样吗
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
13 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
pathuang68
2011-08-07
打赏
举报
回复
数据结构中的栈是一种逻辑概念,存放局部变量的栈是一种物理概念。
5t4rk
2011-08-07
打赏
举报
回复
[Quote=引用 4 楼 dizuo 的回复:]
数据结构中的栈是 一种数据结构,
存放局部变量的栈 是一种具体栈的实现
[/Quote]
恩
顶
jialejiahi
2011-08-07
打赏
举报
回复
[Quote=引用 9 楼 towrywang 的回复:]
这和汇编有联系???
[/Quote]
看下汇编就知道了程序的栈帧结构是怎么实现的,也就知道了这里栈是怎么用的,你说有没有联系?
seujh
2011-08-07
打赏
举报
回复
不一样
一个是内存的问题, 一个是 一种解决问题的方法。。。。。。(借助这种特殊的数据结构,叫: 栈)
towry
2011-08-07
打赏
举报
回复
这和汇编有联系???
欣客
2011-08-07
打赏
举报
回复
特点都是一样的,先进后出。。。
个人觉得是一样,不一样肯能是实现的方法不一样。
jialejiahi
2011-08-07
打赏
举报
回复
楼主去看看汇编就全明白了。
lifesider
2011-08-07
打赏
举报
回复
实现原理是一样的,都是使用栈的数据结构
使用push,pop结构
justlovetao
2011-08-07
打赏
举报
回复
我感觉数据结构中的栈只是为了更好的解决问题,而系统的堆栈虽然和数据结构的原理差不多(我也说不清。。求高人),但是很复杂吧
ryfdizuo
2011-08-07
打赏
举报
回复
数据结构中的栈是 一种数据结构,
存放局部变量的栈 是一种具体栈的实现
lz1091914999
2011-08-07
打赏
举报
回复
一个简单不抽象,一个复杂但抽象。
独自听枫
2011-08-07
打赏
举报
回复
不一样的东西,栈内存是由系统自动维护的内存区域,一般很小
比如 你在程序中定义
int a; //那么a所占的区域就是在栈内存中,由系统自动维护。
如果是
int *a = new int;//这种的话 a所指的内存就是在堆内存中,由用户自己控制
jackyjkchen
2011-08-07
打赏
举报
回复
相同点都是后进先出,但是数据结构中的栈一直用用户代码级别的,栈内存通过CPU的指令可直接访问
数据结构
——
栈
与堆的
区别
栈
(stack)及堆(heap)概念的最初了解起始于对C语言的基础学习。而对于他们的理解也只是浅尝辄止,停留在:
栈
内存
由系统自动分配,函数调用时对其局部变量分配内存,调用结束则进行回收;堆内存由用户手动分配,需进行内存释放操作——即初步了解了free和malloc,calloc等;而在进行
数据结构
方面知识学习后,也进一步的对二者有了更深的理解应当说,对二者的初步理解总体上正确。在编程里,堆内存与
栈
内存
属于内存管理的概念,二者在用途、分配方式、性能等方面,都存在显著差异。
JavaScript
中
堆和
栈
的
区别
JS变量都存放在内存
中
,而内存给变量开辟了两块区域,分别为
栈
区域和堆区域
栈
像个容器,容量小速度快 堆像个房间,容量较大 讲这些之前我们先说说基本数据类型和引用数据类型 我们知道在js
中
的数据类型可以分为基本类型和引用类型。基本类型是存在
栈
内存
中
的,引用类型是存在堆内存
中
的,但是引用类型的引用还是存在
栈
内存
中
的。 let num1 = 1; num1 = 2; console.log(num1); // 2 const p1 = { name: 'Tom', age: 20.
详解JS
中
的
栈
内存
与堆内存!(配图解)
一、
栈
内存
1.访问顺序
栈
是一种先进后出的
数据结构
,
栈
内存
是内存
中
用于存放临时变量的一片内存块。 它是一种特殊的列表,
栈
内的元素只能通过列表的一端访问,这一端称为
栈
顶,另一端称为
栈
底。 2.存储数据 一般来说,
栈
内存
主要用于存储各种基本类型的变量,包括Boolean、Number、String、Undefined、Null…以及对象变量的指针 为方便大家理解,这里我们通过类比乒乓球盒子来分析
栈
的存取方式。 这种乒乓球的存放方式与
栈
中
存取数据的方式如出一辙。 处于顶层的乒乓球5号,它一
简述JAVA
中
堆内存与
栈
内存
的
区别
Java把内存划分成两种:一种是
栈
内存
,一种是堆内存。 一、
栈
内存
存放基本类型的变量,对象的引用和方法调用,遵循先入后出的原则。
栈
内存
在函数
中
定义的“一些基本类型的变量和对象的引用变量”都在函数的
栈
内存
中
分配。当在一段代码块定义一个变量时,Java就在
栈
中
为这个变量分配内存空间,当超过变量的作用域后,Java会自动释放掉为该变量所分配的内存空间,该内存空间可以立即被另作他用。 Java
中
的代码是在函数体
中
执行的,每个函数主体都会被放在
栈
内存
中
,比如main函数。假如main函数里调用了其他的函数,比如a
堆与
栈
的
区别
详细总结
常见的
数据结构
: 数组,
栈
,队列,链表,树,图,散列表(哈希表) 堆与
栈
的
区别
堆:队列优先,先进先出(FIFO—firstinfirstout)。
栈
,先进后出(FILO—First-In/Last-Out)。 一般情况下,如果有人把堆
栈
合起来说,那它的意思是
栈
,可不是堆。 堆(
数据结构
):堆可以被看成是一棵树,如:堆排序。
栈
(
数据结构
):一种先进后出的
数据结构
。 堆
栈
都是一种数据项按序排...
C语言
70,039
社区成员
243,246
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章