c++的“栈”是什么啊?
1个回答
展开全部
C语言中的堆和栈都是一种数据项按序排列的数据结构。栈就像装数据的桶或箱子我们先从大家比较熟悉的栈说起吧,它是一种具有后进先出性质的数据结构,也就是说后存放的先取,先存放的后取。
您所说的栈,是由操作系统负责管理的一段栈空间,在递归、子程序调用等处应用广泛。这是操作系统的范畴。——并不是在C语言范畴讨论的概念。
栈区(stack):由编译器自动分配释放,存放函数的参数值,局部变量等值。局部变量,任务线程函数之类的是放在(使用)栈里面的,栈利用率高一些。其操作方式类似于数据结构中的栈。
栈,可以看作是一摞卡片,最上面的卡片表示程序的当前作用域,这往往就是当前正在执行的函数。堆,一段完全独立于当前函数或者栈帧的内存区。
栈是一种数据结构,用于存放数据,可以理解为羽毛球筒,羽毛球就是数据,最先放进去的最后才能拿出来。c语言可以用结构体来定义栈,每个元素以指针指向它前面的元素,最前面的元素称为栈顶,它的指针为空。
栈是用来保存数据的,数据形式是先压栈的最后出,最后压栈的最先出栈,就像米缸一样,你先放进去的要最后才能吃,反而最后放进米缸的最先出一样..。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询