Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Industrial programming >> Lenguaje C

Dominando funciones en C: Estructura, declaración y mejores prácticas

Una función es un grupo de sentencias que realizan una tarea. Todo programa C tiene al menos una función: main(), y los programas más triviales pueden definir funciones adicionales.

Puedes dividir tu código en funciones separadas. La división lógica es que cada función realice una tarea específica.

Una declaración de función informa al compilador sobre nombre, tipo de retorno y parámetros. Una definición proporciona el cuerpo real.

La biblioteca estándar de C proporciona numerosas funciones integradas: strcat() para concatenar cadenas, memcpy() para copiar memoria, entre muchas.

Una función también puede llamarse método, subrutina o procedimiento.

Definiendo una función

Forma general de definición de función en C:

tipo_retorno nombre_funcion(lista_parámetros) {
    cuerpo de la función
}

Una definición consta de encabezado de función y cuerpo de función. Partes de una función:

Ejemplo

Código fuente para función max() que toma dos parámetros y devuelve el máximo:

/ * función que retorna el máximo entre dos números * /
int max(int num1, int num2) {
    / * declaración variable local * /
    int result;
    if (num1 > num2)
        result = num1;
    else
        result = num2;
    return result;
}

Declaraciones de función

Informa al compilador sobre nombre y cómo llamar. El cuerpo puede definirse aparte.

tipo_retorno nombre_funcion(lista_parámetros);

Para max():

int max(int num1, int num2);

Los nombres de parámetros no importan en la declaración, solo sus tipos; esto también es válido:

int max(int, int);

La declaración es necesaria cuando defines una función en un archivo fuente y la llamas en otro. Declara la función al inicio del archivo que la llama.

Llamando a una función

Al crear una función, defines qué debe hacer. Para usarla, la llamas para realizar la tarea.

Cuando un programa llama a una función, el control pasa a la función llamada. Esta realiza la tarea y al ejecutar return o alcanzar la llave de cierre, devuelve el control al programa principal.

Para llamar, pasa parámetros requeridos junto con el nombre; si devuelve valor, puedes almacenarlo. Ejemplo:

Demo en vivo
#include <stdio.h>
/* declaración de función */
int max(int num1, int num2);
int main() {
    /* definición variables locales */
    int a = 100;
    int b = 200;
    int ret;
    /* llamada a función para obtener valor máximo */
    ret = max(a, b);
    printf("Valor máximo es: %d\n", ret);
    return 0;
}
/* función que retorna el máximo entre dos números */
int max(int num1, int num2) {
    int result;
    if (num1 > num2)
        result = num1;
    else
        result = num2;
    return result;
}

Resultado al ejecutar:

Valor máximo es: 200

Argumentos de función

Si una función usa argumentos, debe declarar variables que acepten los valores (parámetros formales). Se comportan como variables locales: creadas al entrar, destruidas al salir.

Dos formas de pasar argumentos:

NºTipo de Llamada y Descripción
1Llamada por valor: copia el valor real del argumento en el parámetro formal. Cambios dentro de la función no afectan al argumento.
2Llamada por referencia: copia la dirección del argumento en el parámetro formal. Dentro de la función, la dirección accede al argumento real; cambios afectan al argumento.

Por defecto, C usa llamada por valor. En general, el código dentro de una función no puede alterar los argumentos usados para llamarla.

Lenguaje C

  1. Cuatro patrones probados para funciones definidas por el usuario en C
  2. Cómo pasar arrays 1D y 2D a funciones en C – Guía práctica
  3. Dominando funciones de la biblioteca estándar de C: Guía práctica
  4. Uso eficiente de memoria con campos de bits en C
  5. Dominando E/S de archivos en C: Crear, abrir y gestionar archivos
  6. Dominando Argumentos Variables en C: Guía Práctica
  7. Entendiendo el Polimorfismo en C++: Guía Práctica
  8. Métodos en C#: Definición, llamada y uso de funciones
  9. Dominar las funciones en Verilog para diseño RTL eficiente
  10. Funciones en MATLAB: Definición, Workspace, Entradas y Salidas
  11. Dominando las funciones lambda en Python: ejemplos prácticos y mejores prácticas