Contenido del Curso
Fundamentos de C
Fundamentos de C
Void, Recursion
El Tipo de Retorno Void en C
En el lenguaje de programación C, se espera que las funciones que se declaran con un tipo de retorno específico tengan una declaración de retorno, entregando un valor que coincida con ese tipo. Sin embargo, hay situaciones en las que una función no necesita devolver nada – tal vez es simplemente mostrar texto en la pantalla. En estos casos, la función debe declararse con el tipo void
.
Main
#include <stdio.h> void func() { printf("This function return nothing\n"); } int main() { func(); return 0; }
La keyword (palabra clave) void
especifica que una función no devuelve un valor, y también puede utilizarse en el contexto de punteros. Intentar declarar una variable de tipo void
producirá un error porque el compilador no entenderá cuánta memoria asignar.
Aquí hay un error intencional para ilustrar.
Main
#include <stdio.h> int main() { void variable; return 0; }
Profundizar en Recursion
C permite que una función se llame a sí misma, una técnica conocida como recursion.
Imagine recursion como la acción de estirar y luego soltar una goma elástica. Suele utilizarse en operaciones matemáticas, como el cálculo de factoriales.
Por ejemplo: 3! = 3 x 2 x 1
Los factoriales se utilizan a menudo para aproximar valores de funciones expandiéndolas en series de Taylor o Maclaurin.
Nota
La inspiración de este capítulo surgió justo después de que el autor completara un trabajo de laboratorio en la universidad. La tarea consistía en aproximar el valor de la cotangente a una cierta precisión expandiéndolo en una serie de Taylor. Y naturalmente, el cálculo factorial era indispensable.
Main
#include <stdio.h> int factorial(int n) { // if n = 0 or 1, because 0! = 1 and 1! = 1 if (n == 0 || n == 1) return 1; // recursion case else return n * factorial(n - 1); } int main() { int n = 3; printf("factorial(%d) = %d\n", n, factorial(n)); return 0; }
En el contexto de recursion, la función continuará llamándose a sí misma hasta que se cumpla la condición n == 0 || n == 1
. Una vez cumplida esta condición, los resultados de las siguientes llamadas a la función factorial()
se devuelven en orden inverso, de forma similar a como se dobla un acordeón. Cuando se alcance el paso 6, la llamada inicial a factorial(3)
devolverá 6
.
¡Gracias por tus comentarios!