支持子程序调用的数据结构是(子程序的一般结构为( 支持子程序调用的数据结构是栈


支持子程序调用的数据结构是(子程序的一般结构为( 支持子程序调用的数据结构是栈

文章插图
支持子程序调用的数据结构是是栈,栈支持子程序调用 。栈是一种只能在一端进行插入或删除的线性表,在主程序调用子函数时要保存主程序的当前状态,符合栈的特性 。栈是一种只能在一端进行插入或删除的线性表 。


【支持子程序调用的数据结构是(子程序的一般结构为( 支持子程序调用的数据结构是栈】栈是一种具有后进先出性质的数据结构,也就是说后存放的先?。却娣诺暮笕?。这就如同要取出放在箱子里面底下的东西(放入的比较早的物体) , 首先要移开压在它上面的物体(放入的比较晚的物体) 。内存中的栈区处于相对较高的地址以地址的增长方向为上的话,栈地址是向下增长的 。栈中分配局部变量空间,堆区是向上增长的用于分配程序员申请的内存空间 。另外还有静态区是分配静态变量,全局变量空间的;只读区是分配常量和程序代码空间的;以及其他一些分区 。
由于栈上的空间是自动分配自动回收的,所以栈上的数据的生存周期只是在函数的运行过程中,运行后就释放掉,不可以再访问 。栈在Windows下,栈是向低地址扩展的数据结构,是一块连续的内存的区域 。这句话的意思是栈顶的地址和栈的最大容量是系统预先规定好的,在 WINDOWS下,栈的大小是2M(也有的说是1M,总之是一个编译时就确定的常数),如果申请的空间超过栈的剩余空间时,将提示overflow 。因此,能从栈获得的空间较小 。