哪位大佬能给我解释一下栈!百度了。看不明白,他跟链表有什么关
c语言吧
全部回复
仅看楼主
level 11
YYYYXoxoxo 楼主
哪位大佬能给我解释一下栈![小乖][小乖]百度了。看不明白,他跟链表有什么关系啊!感觉差不多[惊哭][惊哭][惊哭]
2018年04月13日 04点04分 1
level 15
62828050。
——
你说的是数据结构中的栈还是内存管理中的栈?
2018年04月13日 04点04分 2
有啥区别,都不懂勒[惊哭]
2018年04月13日 04点04分
@YYYYXoxoxo ……看来你说的是数据结构,就是一种限制了的顺序表
2018年04月13日 04点04分
回复 三枝💕葉留佳 :顺序表又是什么[惊哭][惊哭][惊哭]
2018年04月13日 04点04分
@YYYYXoxoxo 。。。。顺序表又名线性表,是数据在逻辑上顺序组织的抽象数据结构(更让人听不懂了);比方说二叉树就不是顺序的。能百度就百度。
2018年04月13日 04点04分
level 11
[花心]好图
2018年04月13日 04点04分 3
ls写了ID,去p找原图去[阴险]
2018年04月13日 04点04分
level 11
我比较熟悉内存管理的栈,它是函数调用,递归和局部变量的基础
2018年04月13日 04点04分 4
虽然还是狠懵逼,但还是谢谢大佬
2018年04月13日 04点04分
level 13
first in last out,先进后出
   --php是世界上最好的语言。
2018年04月13日 05点04分 5
又在百度逛了下,有点理解了!是不是就是一种方式,先进后出。内存方面还狠懵逼,他跟堆的差别[惊哭][泪]
2018年04月13日 06点04分
@YYYYXoxoxo 只要是栈就符合先进后出,不管是不是关于内存的,栈是一种存取数据的方式,内存方面,栈通常用来保存自动变量(就是在函数里定义的int a)和函数活动记录(这个东西你看看汇编的过程调用会比较好理解或者c专家编程也有讲,我记不得在哪了),
2018年04月13日 12点04分
@YYYYXoxoxo 堆的话,保存的是程序员自己向操作系统申请的内存空间(毕竟我们不可能知道我们的程序一定用到多少内存),比如malloc,calloc,new ,所以,用着几个东西向操作系统申请的空间,最后都是要还的(出来混总是要还的),通过free delete
2018年04月13日 12点04分
@Allure彡 谢谢大佬
2018年04月13日 12点04分
level 11
栈跟链表没啥太大的关系。除了可以用链表这个结构来实现栈以外。
2018年04月13日 06点04分 6
知道了!内存方面的栈能解释一下吗😊
2018年04月13日 06点04分
@YYYYXoxoxo 比如一个变量保存栈底的地址,另一个变量保存栈顶的地址,进栈时,栈顶地址+1,出栈时就-1,这样子。实际内存中可能+1和-1反着,也可能加减的不是1而是4或8之类的取决于一个数据占几个字节。
2018年04月13日 06点04分
@fx2422esplus 这个我想我知道了![呵呵]我想问内存管理,堆与栈[惊哭]
2018年04月13日 06点04分
@YYYYXoxoxo 函数调用的时候,每调用一层,就把参数、返回地址、局部变量之类的压栈,当需要访问这些数据的时候,可以用栈顶指针找到这些数据,因为不过调用之前栈顶在哪,这些数据相对栈顶的位置是不变的。当函数返回以后,栈顶回到调用之前的位置。内存管理的栈就这么简单。
2018年04月13日 06点04分
level 10
线性表是一种线性成串的数据集合,线性表包括顺序表和链式表,顺序表就是像数组这样一整块连续的存储空间;链式表就是由若干个离散分布的节点通过备份其他节点地址进行节点串联的线性结构。
栈是一种控制存取顺序为后进先出的线性的数据容器,栈可以用顺序表实现,也可以用链式表实现,使用顺序表实现的栈存在容量的上限,和不必要的内存消耗,相对而言链式栈更加灵活。
内存中的栈表示栈区内存。程序编译运行后称之为进程,系统会为进程分配相应的内存空间存储相关数据,其中包括栈区、堆区、代码段、数据段(全局区、只读区)、BSS段等,其中局部变量存在于栈区,未初始化的全局变量存储于BSS段,已初始化的全局变量和静态局部变量都存在全局区中,被const修饰的常量和字面值常量(字符串)都存在于只读区。这些区域的分配和释放都由系统进行管理。而堆区则是由程序员自行管理的区域(malloc/free)。系统为进程分配的栈区内存是非常有限的,并且栈区内存不可扩展,而堆区是可扩展的,所以一般建议多使用堆内存,尽可能避免栈溢出。
2018年04月13日 07点04分 7
感谢大佬的解释
2018年04月13日 12点04分
level 7
链表是链式存储的一种具体体现,栈是一种先进后出的数据结构,可用链表实现
2018年04月13日 09点04分 9
谢谢😊
2018年04月13日 12点04分
level 7
很好的图
2018年04月13日 10点04分 10
level 15
[滑稽]突然想歪个楼,如果其他吧务觉得不合理就删了吧。
本帖
镇楼
图ID=62828050,为原创角色,收藏数达3k+。
并且是这个ID下一次投了7P,以下为其他P
2018年04月13日 12点04分 11
level 7
呵呵。楼主,你太年轻了。你真的以为有那么多人回复你吗?其实我是看你可怜,于是,我不辞辛劳的注册了很多ID,不断的回复你,希望能满足一下你的虚荣心。但是你要明白,不是所有人都会像我这样为你着想。希望你好自为之。 好了,不说了。我换号继续回复你,不然你不会相信这是真的[滑稽]
2018年04月13日 12点04分 12
哈哈😄!我信你了[滑稽][笑眼]
2018年04月13日 12点04分
1