Dúvida sobre sobre reiniciar função

Posso dentro de uma função chamar ela própria ?
Por exemplo se dentro de uma função uma determinada condição for verdadeira reiniciar a própria função ?

void myfunction() {
if(condição) myfunction();
}

Isto não poderá acarretar algum estouro de pilha ?
Posso usar desta forma ou seria melhor criar um label: e usar um goto label ?

Ola´,
a respota é Sim.
Pode chamar uma função dentro dela mesmo. Isto chama "recursividade" ou "recursão".

Mas tenha cuidado com este detalhe abordado no link que vou postar:

" Porém um problema que surge ao usar a recursividade é como fazê-la parar. Caso o programador não tenha cuidado é fácil cair num loop infinito recursivo o qual pode inclusive esgotar a memória…"

Veja mais detalhes neste link:

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.