什么是栈?

[复制链接]
查看11 | 回复2 | 2010-7-12 12:06:01 | 显示全部楼层 |阅读模式
编程语言里的栈指的什么?怎么对栈下一个定义?他有什么作用?

回复

使用道具 举报

千问 | 2010-7-12 12:06:01 | 显示全部楼层
栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。 栈: 在函数调用时,第一个进栈的是主函数中函数调用后的下一条指令(函数调用语句的下一条可执行语句)的地址,然后是函数的各个参数,在大多数的C编译器中,参数是由右往左入栈的,然后是函数中的局部变量。注意静态变量是不入栈的。 当本次函数调用结束后,局部变量先出栈,然后是参数,最后栈顶指针指向最开始存的地址,也就是主函数中的下一条指令,程序由该点继续运行。
回复

使用道具 举报

千问 | 2010-7-12 12:06:01 | 显示全部楼层
first in first out
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行