• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

TheOne

[Dúvida] Recursão infinta e Stack overflow

2 mensagens neste tópico

Boas pessoal, queria-vos perguntar qual é a diferença entre o Stack overflow e a recursão infinita.

O stack overflow acontece quando existem demasiadas instâncias do método, tantas que acaba por não haver mais memória para suportar o crescimento do stack certo?

A recursão infinita é parecido mas as intâncias anteriores são "eliminadas", penso no exemplo de um programa para calcular o PI que é um uma dizima infinita não periódica.

Estou certo? É que não tenho a certeza se o que eu disse é verdade, ou se os dois conceitos são a mesma coisa. Help please  :)

Obrigado :)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Bem isto não deveria estar aqui, mas...

Uma recursão infinita origina sempre um stack overflow. Uma recursão infinita pode ser directa ou indirecta, quando uma rotina se chama a ela própria sem parar, ou quando chama outra que a vai chamar. Como é infinita, não segue as duas regras básicas, não existe situação para parar logo de cada vez que ela se chama é acrescentada informação à stack com o nome da rotina, parâmetros, onde foi evocada... Como não para a stack não vai aguentar a quantidade de informação. Percebido?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora