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

Contenido del Curso

Fundamentos de C

Fundamentos de C

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

bookVoid, 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.

c

Main

copy
12345678910111213
#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.

c

Main

copy
12345678
#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.

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 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.

Imagina un anuncio en el que ves a una chica con una botella de leche en la mano. En esta botella hay otra foto de la misma chica con la botella de leche en la mano, y en esa botella más pequeña hay otra foto de la chica, y así sucesivamente. ¿Cómo se llama este concepto?

Imagina un anuncio en el que ves a una chica con una botella de leche en la mano. En esta botella hay otra foto de la misma chica con la botella de leche en la mano, y en esa botella más pequeña hay otra foto de la chica, 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
some-alt