程序的虚拟地址空间分为多个区域,栈是其中地址较高的一个区域。
栈可以存放函数参数、局部变量、局部数组等作用范围在函数内部的数据,它的作用就是完成函数的调用。
- 栈的概念
- 栈溢出(Stack Overflow)
- 对于每个程序来说,栈能使用的内存是有限的,一般是1M - 8M,这在编译时就已经决定了,程序运行期间不能改变。
- 如果程序使用的栈内存超出最大值,就会发生栈溢出错误。
一个进程可以包含多个线程,每个线程都有自己的栈,严格来说,栈的最大值是针对线程来说的,而不是针对进程。
栈内存的大小和编译器有关,编译器会为栈内存指定一个最大值。
原文地址:https://www.cnblogs.com/xiaobaizzz/p/12343266.html
时间: 2024-11-13 04:38:12