Junior — Middle
O que se entende por estouro de pilha ao executar um programa?
sobes.tech IA
Resposta da IA
O estouro de pilha (stack overflow) ocorre quando um programa usa mais memória de pilha do que a alocada pelo sistema operativo. Geralmente acontece devido a uma recursão infinita ou muito profunda, ou por alocar variáveis locais demasiado grandes.
A pilha é uma área de memória onde são armazenadas variáveis locais e endereços de retorno de funções. Se a pilha transborda, o programa termina abruptamente com um erro.
Exemplo de recursão infinita que causa estouro de pilha:
void Recursive()
{
Recursive(); // chamada a si mesmo sem condição de saída
}
Recursive();
Para evitar o estouro de pilha, é necessário controlar a profundidade da recursão e o tamanho dos dados locais.