©️FUNCIONES

Una funcion es un bloque de codigo que solo se jecuta cuando se llama.

Puede pasar datos, conocidos como parametros, a una funcion.

Funciones Predefinidas

Por ejemplo, main() es una funcion, que se usa para ejecutar codifgo, y printf() es una funcion; se utiliza para generar/imprimir texto en la pantalla:

int main() {
    pritf("Hello Word");
    return 0;
}

Crear una funcion

Para crear o declarar su propia funcion, especifque el nombre de la funcion, seguido de parentesis y corchetes:

void funcion() {
    //code
}
  • funcion() es el nombre de la funcion.

  • void significa que la funcion no tiene valor de retorno.

Llamar a una funcion

Las funciones declaradas no se ejecutan inmediatamente. Se guardan para uso posterior y se ejecutan cuando se llaman. Para llamar a una funcion, escriba el nombre de la funcion seguido de dos parentesis y un punto y coma.

En el siguiente ejemplo, imprimiremos un texto:

void prueba() {
    printf("Esta es una prueba");
}

int main() {
    prueba();
    return 0;
}

Parametros

La informacion se puede pasar a las funciones como un parametro. Los parametros actuan como variables dentro de la funcion.

Los parametros se especifican despues del nombre de la funcion, entre parentesis. Puede agregar todos los parametros que desee:

returnType funtionName(param1, param2, param3) {
    //code
}

Veamos un ejemplo donde la funcion que toma una cadena de caracterres con nombre como parametro. Cuando se llama a la funcion, pasamos un nombre, que se usa dentro de la funcion para imprimir 'Hola' y el nombre de cada persona:

void myFunction(char name[]) {
    printf("Hello %s\n", name);
}

int main() {
    myFunction("Lian");
    myFunction("Jeny");
    myFunction("angel");
    return 0;
}

Parametros Multiples

Dentro de la funcion, puede agregar tantos parametros como desee:

void nombre(char name[], int age) {
    printf("Hola %s, Yu edad es %d, \n", name, age);
}

int main() {
    myFunction("Lian", 3);
    myFunction("Lian", 6);
    myFunction("Lian", 9);
    return 0;
}

Arrays como parametros de Funcion

void funcion(int myNumbers[5]) {
    for (int i = 0; i <5; i++) {
        printf("%d\n", myNumbers[i]);
    }
}

int main() {
  int myNumbers[5] = {10, 20, 30, 40, 50};
  myFunction(myNumbers);
  return 0;
}
  • La funcion toma un array como su parametro ( int myNumbers[5] ) y recorre los elementos de la matriz el for bucle.

  • Cuando se llama a la funcion main(), pasamos el array myNumbers que genera los elemntos de la matriz.

Valores Devueltos

Void indica que la funcion no debe de devolver un valor. Si desea que la funcion devuelva un valor, puede usar un tipo de datos (como int o float , etc) en lugar de void y usar return dentro de la funcion:

int funcion(int x) {
    return 5 + x;
}

int main() {
    printf("El resultado es %d", funcion(3));
    return 0;
}

// output 8 (5+3)

Declaracion y Definicion de una Funcion

Una funcion consta de dos partes:

  • Declaracion: el nombre de la funcion, el tipo de devolucion y los parametros (si corresponde).

  • Definicion: el cuerpo de la funcion (codigo a ejecutar).

void funcion() { // declaracion
    // definicion
}

Para la optimizacion del codigo, se recomienda separar la declaracion y la definicion de la funcion.

Se pueden ver programas en C que tienen unad eclaracion de funcion arriba main() y una definicion de codigo abajo main(). Esto hara que el codigo este mejor organizado.

// Declaracion
void funcion();

// LLamada a la funcion
int main() {
    funcion();
    return 0;
}

// Definicion
void funcion() {
    printf("Ejecutado");
}

Recursividad

La recursividad es la tecnica de hacer que una funcion sse llame a si misma. Esta tecnica proporciona una forma de dividir problemas complicados en problemas simples.

Veamos un ejemplo al sumar un rango de numeros:

int sum(int k);

int main() {
    int resultado = sum(10);
    printf("%d", resultado);
    return 0;
}

int sum(int k) {
    if (k > 0) {
        return k + sum(k -1);
    }    else {
        return 0;
    }
}

Cuando sum() se llama, agrega un parametro k a la suma de todos los numeros menores que k y devuleve el resultado. Cuando k se convierte en 0, la funcion simplemente devuelve 0.

Funciones Matematicas

Para usar estas funciones, se debe de incluir el math.h como encabezado:

#include <math.h>

Última actualización