Hola, tengo un problema y me resulta muy difícil solucionarlo.
Tengo un programa que ejecuta una función que es recursiva.
Esta función es recursiva y se llama dentro de ella misma muchísimas veces debido a bucles que hay en ella.
El número de repeticiones de los bucles se puede cambiar cambiando el valor de una constante.
Si la constante es pequeña, no hay tantas llamadas recursivas. Pero si es grande se producen muchísimas llamadas y se corta la ejecución.
Se corta porque cada vez que se hace una llamada recursiva, las variables de la cabecera de la función son creadas de nuevo para almacenar el valor de esa variable entonces se crea en otra dirección de memoria, es decir, en total se crean muchísimas variables, porque en cada llamada tendrá su propio valor y necesita estar en otro sitio.
Por curiosidad hice un printf de la dirección de memoria para ver a cuales se accedían y cuando falla me encontraba cosas como Direccion -1.#QNAN0 .
¿Cómo podría salucionar esto?
MUCHISIMAS GRACIAS