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

Contenido del Curso

Fundamentos de C

Fundamentos de C

1. Introducción
2. Datos
3. Operadores
4. Control de Declaraciones
5. Funciones
6. Punteros

book
Void, Recursión

El tipo de retorno void en C

En el lenguaje de programación C, se espera que las funciones declaradas con un tipo de retorno específico tengan una declaración de retorno, entregando un valor que coincida con ese tipo. Sin embargo, hay escenarios donde una función no necesita devolver nada, quizás simplemente está mostrando texto en la pantalla. Para tales casos, la función debe ser declarada con el tipo void.

c

Main

copy
12345678910111213
#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 usarse en el contexto de punteros. Intentar declarar una variable de tipo void resultará en un error porque el compilador no entenderá cuánta memoria asignar.

Aquí hay un error intencional para ilustración.

c

Main

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

Profundizando en la Recursión

C soporta 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. Se utiliza comúnmente 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 expandiendo estas funciones en series de Taylor o Maclaurin.

Nota

La inspiración para este capítulo surgió justo después de que el autor completara una tarea de laboratorio en la universidad. La tarea consistía en aproximar el valor de la cotangente a cierta precisión expandiéndola en una serie de Taylor. Y, naturalmente, el cálculo factorial fue indispensable.

c

Main

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 cumpla con la condición n == 0 || n == 1. Una vez que se satisface esta condición, los resultados de las llamadas subsiguientes 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.

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?

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?

Selecciona la respuesta correcta

¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 5. Capítulo 6
We're sorry to hear that something went wrong. What happened?
some-alt