支持子程序调用的数据结构是是栈,栈支持子程序调用。
关于栈:
栈衡族是一种只能在一端进行插入或删除的线性表,在主程序调用子函数时要保存主程序的当前状态,符合栈的特性。栈是一种只能在一端进行插入或删除的线性表。
栈是一种具有后进先出性质的数据结构,也就是说后存放的先取,先存放的后取洞拦团。这就如同要取出放在箱子里面底下的东西(放入的比较早的物体),首先要移开压在它上面的物体(放入的比较晚的物体)。
内存中的栈区处于相对较高的地址以地址的增长方向为上的话,栈地址是向下增长的。栈中分配局部变量空间,堆区是向上增长的用于分配程序员申请的内存空间。另外还有静态区是分配静态变量,全局变量空间的。只读区是分配常量和程序代码空间的。
由于栈上的空间是自动分配自动回收的,所以栈上的数据的生存周期只是在函数纳橘的运行过程中,运行后就释放掉,不可以再访问。栈在Windows下,栈是向低地址扩展的数据结构,是一块连续的内存的区域。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)