Resumen

Aprende, paso a paso y con ejemplos claros, cómo crear funciones en C sin argumentos, cómo pasar parámetros y cómo migrar a un return type entero. Verás el flujo completo: declaración, llamada y definición, más los errores típicos como el de variables no declaradas o el mal uso del ámbito.

¿Qué es una función void sin argumentos en C?

Una función con return type void no devuelve valor. En el ejemplo, se usa STDIO con #include <stdio.h> y se trabaja en main sin argumentos adicionales. main retorna 0 para indicar ejecución correcta al compilador.

  • Usar #include <stdio.h> para printf.
  • int main(void) y return 0; para finalizar.
  • Declarar, llamar y definir la función en ese orden.
  • Buenas prácticas: indicar void en parámetros cuando no recibe argumentos.

¿Cómo se declara, llama y define una función en C?

Primero se declara, luego se llama desde main, y al final se define. Se muestra una suma simple con impresión de resultado.

#include <stdio.h>

void demo(void); // declaración

int main(void) {
    demo(); // llamada
    return 0;
}

void demo(void) { // definición
    int A;
    int B;
    int sum;
    A = 100;
    B = 100;
    sum = A + B;
    printf("The result is: %d\n", sum);
}

¿Por qué aparece el error sum undeclared first use?

Se intentó usar sum sin haberla declarado. La corrección es declarar la variable antes de asignar e imprimir. Tras declarar int sum;, la compilación indica compile successfully y muestra: "The result is two hundred".

¿Cómo usar parámetros y mejores prácticas en nombres?

Se modifica la función para recibir parámetros int A, int B y se renombra a add (en inglés) como buena práctica de nombres. Se pueden pasar valores desde variables o literales.

¿Qué cambia al usar parámetros int A, int B?

Ya no se declaran A y B dentro de la función. Se pasan desde main. Se muestran dos formas para entregar valores: usando variables o valores directos.

#include <stdio.h>

int add(int A, int B); // declaración

int main(void) {
    int A = 100;
    int B = 100;

    // forma 1: usando variables.
    printf("The result is: %d\n", add(A, B));

    // forma 2: pasando literales directamente.
    printf("The result is: %d\n", add(100, 100));

    return 0;
}

int add(int A, int B) { // definición
    return A + B;
}

¿Cómo imprimir el resultado y evitar errores de ámbito?

Si intentas imprimir una variable interna de la función (por ejemplo add si fuera local) desde main, obtendrás valores erróneos. La solución correcta es imprimir el retorno de la función: printf("%d", add(100, 100));. Leer la terminal y la consola ayuda a detectar estos fallos rápido.

¿Qué implica cambiar el return type a int?

Al cambiar de void a int, la función devuelve un valor y ya no imprime dentro de ella. Se comenta el printf interno y se retorna la suma. Luego el printf se hace en main con el valor retornado.

¿Cómo se implementa el return y se corrige la llamada a printf?

  • Cambiar la firma: de void a int.
  • Agregar return con la variable calculada.
  • Mover printf a main e imprimir el resultado de la llamada.
  • Evitar usar nombres de variables y funciones de forma ambigua.
  • Mantener nombres en inglés como add por consistencia.

¿Tienes dudas sobre pasar argumentos por valor o por referencia en C? Compártelas en los comentarios para abordarlas a detalle en el siguiente contenido.