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…"