Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprende Void y Recursión | Funciones
Fundamentos de C

bookVoid y Recursión

El tipo de retorno void en C

En el lenguaje de programación C, las funciones que se declaran con un tipo de retorno específico deben tener una sentencia return, entregando un valor que coincida con ese tipo. Sin embargo, existen situaciones en las que una función no necesita devolver nada, por ejemplo, cuando simplemente muestra texto en la pantalla. Para estos casos, la función debe declararse con el tipo void.

Main.c

Main.c

copy
12345678910
#include <stdio.h> void func() { printf("This function returns nothing\n"); } int main() { func(); return 0; }

La 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 resultará en un error porque el compilador no sabrá cuánta memoria asignar.

Main.c

Main.c

copy
1234567
#include <stdio.h> int main() { void variable; return 0; }

Recursión

C admite la capacidad de que una función se llame a sí misma, una técnica conocida como recursión.

Imagina la recursión como la acción de estirar y luego soltar una banda elástica. Es comúnmente utilizada en operaciones matemáticas, como el cálculo de factoriales.

Los factoriales se emplean frecuentemente para aproximar valores de funciones expandiéndolas en series de Taylor o Maclaurin.

Main.c

Main.c

copy
1234567891011121314151617181920
#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 la recursión, la función continuará llamándose a sí misma hasta que se cumpla la condición n == 0 || n == 1. Una vez que se satisface esta condición, los resultados de las siguientes llamadas a la función factorial() se devuelven en orden inverso, similar a plegar un acordeón. Para cuando se alcanza el paso 6, la llamada inicial a factorial(3) devolverá 6.

question mark

Imagina un anuncio donde ves a una niña sosteniendo una botella de leche. En esta botella, hay otra imagen de la misma niña sosteniendo una botella de leche, y en esa botella más pequeña, hay otra imagen de la niña, y así sucesivamente. ¿Cómo se llama este concepto?

Select the correct answer

¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 5. Capítulo 6

Pregunte a AI

expand

Pregunte a AI

ChatGPT

Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla

Suggested prompts:

Can you explain more about how recursion works in C?

What are some common mistakes to avoid when using recursion?

Can you give an example of a recursive function in C?

Awesome!

Completion rate improved to 2.63

bookVoid y Recursión

Desliza para mostrar el menú

El tipo de retorno void en C

En el lenguaje de programación C, las funciones que se declaran con un tipo de retorno específico deben tener una sentencia return, entregando un valor que coincida con ese tipo. Sin embargo, existen situaciones en las que una función no necesita devolver nada, por ejemplo, cuando simplemente muestra texto en la pantalla. Para estos casos, la función debe declararse con el tipo void.

Main.c

Main.c

copy
12345678910
#include <stdio.h> void func() { printf("This function returns nothing\n"); } int main() { func(); return 0; }

La 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 resultará en un error porque el compilador no sabrá cuánta memoria asignar.

Main.c

Main.c

copy
1234567
#include <stdio.h> int main() { void variable; return 0; }

Recursión

C admite la capacidad de que una función se llame a sí misma, una técnica conocida como recursión.

Imagina la recursión como la acción de estirar y luego soltar una banda elástica. Es comúnmente utilizada en operaciones matemáticas, como el cálculo de factoriales.

Los factoriales se emplean frecuentemente para aproximar valores de funciones expandiéndolas en series de Taylor o Maclaurin.

Main.c

Main.c

copy
1234567891011121314151617181920
#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 la recursión, la función continuará llamándose a sí misma hasta que se cumpla la condición n == 0 || n == 1. Una vez que se satisface esta condición, los resultados de las siguientes llamadas a la función factorial() se devuelven en orden inverso, similar a plegar un acordeón. Para cuando se alcanza el paso 6, la llamada inicial a factorial(3) devolverá 6.

question mark

Imagina un anuncio donde ves a una niña sosteniendo una botella de leche. En esta botella, hay otra imagen de la misma niña sosteniendo una botella de leche, y en esa botella más pequeña, hay otra imagen de la niña, y así sucesivamente. ¿Cómo se llama este concepto?

Select the correct answer

¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 5. Capítulo 6
some-alt