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

Contenido del Curso

C Básico

C Básico

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

bookVoid, 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 instrucción return, 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 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. 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 una 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 del 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 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 chica sosteniendo una botella de leche. En esta botella, hay otra imagen de la misma chica sosteniendo una botella de leche, y en esa botella más pequeña, hay otra imagen de la chica, y así sucesivamente. ¿Cómo se llama este concepto?

Imagina un anuncio donde ves a una chica sosteniendo una botella de leche. En esta botella, hay otra imagen de la misma chica sosteniendo una botella de leche, y en esa botella más pequeña, hay otra imagen 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