- 堆栈:一块内存,操作系统在程序启动时就已经申请好了,供程序执行时使用(如存临时变量)。
与数据结构里的“堆栈”无关

如图:
命令行里输入EIP的s(…还不太清楚)

这里操作系统将内存编号为0022c000到00230000的这部分内存申请作为 堆栈。
程序从后往前用内存,(先从00230000开始)
若在程序执行过程中,这部分内存被用完了,就会出现内存泄漏,程序将终止。(比如递归)
如何知晓此时程序执行处,堆栈用到哪个位置了??
- ESP栈指针寄存器:
存储了当前堆栈用到哪个地方(内存编号)

上面未使用的堆栈,未必是零,所以这也是c语言中为什么局部变量要赋初值