logo

Funciones C

En c, podemos dividir un programa grande en los componentes básicos conocidos como función. La función contiene el conjunto de declaraciones de programación encerradas entre {}. Se puede llamar a una función varias veces para proporcionar reutilización y modularidad al programa C. En otras palabras, podemos decir que la colección de funciones crea un programa. La función también se conoce como procedimiento o subrutina en otros lenguajes de programación.

Ventaja de las funciones en C

Existen las siguientes ventajas de las funciones C.

  • Al usar funciones, podemos evitar reescribir la misma lógica/código una y otra vez en un programa.
  • Podemos llamar a funciones C cualquier número de veces en un programa y desde cualquier lugar de un programa.
  • Podemos rastrear fácilmente un programa C grande cuando se divide en múltiples funciones.
  • La reutilización es el principal logro de las funciones C.
  • Sin embargo, la llamada a funciones siempre es una sobrecarga en un programa en C.

Aspectos funcionales

Hay tres aspectos de una función C.

    Declaración de funciónUna función debe declararse globalmente en un programa C para informarle al compilador sobre el nombre de la función, los parámetros de la función y el tipo de retorno.
    Llamada de funciónLa función se puede llamar desde cualquier parte del programa. La lista de parámetros no debe diferir en la llamada de función y la declaración de función. Debemos pasar la misma cantidad de funciones que se declaran en la declaración de función.Definición de funciónContiene las declaraciones reales que se van a ejecutar. Es el aspecto más importante al que llega el control cuando se llama a la función. Aquí debemos tener en cuenta que la función solo puede devolver un valor.
SNAspectos de la función CSintaxis
1Declaración de funciónreturn_type nombre_función (lista de argumentos);
2Llamada de funciónnombre_función (lista_argumentos)
3Definición de funcióntipo_retorno nombre_función (lista de argumentos) {cuerpo de la función;}

La sintaxis para crear una función en lenguaje C se proporciona a continuación:

 return_type function_name(data_type parameter...){ //code to be executed } 

Tipos de funciones

Hay dos tipos de funciones en la programación C:

    Funciones de la biblioteca:son las funciones que se declaran en los archivos de encabezado de C, como scanf(), printf(), gets(), puts(), ceil(), floor(), etc.Funciones definidas por el usuario:son las funciones que crea el programador de C, para que pueda utilizarlas muchas veces. Reduce la complejidad de un programa grande y optimiza el código.
Función C

Valor de retorno

Una función C puede o no devolver un valor de la función. Si no tiene que devolver ningún valor de la función, utilice void para el tipo de devolución.

Veamos un ejemplo simple de función C que no devuelve ningún valor de la función.

Ejemplo sin valor de retorno:

 void hello(){ printf('hello c'); } 

Si desea devolver algún valor de la función, debe utilizar cualquier tipo de datos como int, long, char, etc. El tipo de retorno depende del valor que se devolverá de la función.

conjunto c ++

Veamos un ejemplo simple de función C que devuelve un valor int de la función.

Ejemplo con valor de retorno:

 int get(){ return 10; } 

En el ejemplo anterior, tenemos que devolver 10 como valor, por lo que el tipo de retorno es int. Si desea devolver un valor de punto flotante (por ejemplo, 10.2, 3.1, 54.5, etc.), debe utilizar float como tipo de retorno del método.

 float get(){ return 10.2; } 

Ahora, necesita llamar a la función para obtener el valor de la función.

Diferentes aspectos de la llamada a funciones.

Una función puede aceptar o no cualquier argumento. Puede devolver o no algún valor. Según estos hechos, existen cuatro aspectos diferentes de las llamadas a funciones.

  • función sin argumentos y sin valor de retorno
  • función sin argumentos y con valor de retorno
  • función con argumentos y sin valor de retorno
  • función con argumentos y con valor de retorno

Ejemplo de función sin argumento y valor de retorno

Ejemplo 1

 #include void printName(); void main () { printf('Hello '); printName(); } void printName() { printf('Javatpoint'); } 

Producción

 Hello Javatpoint 

Ejemplo 2

 #include void sum(); void main() { printf('
Going to calculate the sum of two numbers:'); sum(); } void sum() { int a,b; printf('
Enter two numbers'); scanf('%d %d',&a,&b); printf('The sum is %d',a+b); } 

Producción

 Going to calculate the sum of two numbers: Enter two numbers 10 24 The sum is 34 

Ejemplo de función sin argumento y con valor de retorno

Ejemplo 1

java integer
 #include int sum(); void main() { int result; printf('
Going to calculate the sum of two numbers:'); result = sum(); printf('%d',result); } int sum() { int a,b; printf('
Enter two numbers'); scanf('%d %d',&a,&b); return a+b; } 

Producción

 Going to calculate the sum of two numbers: Enter two numbers 10 24 The sum is 34 

Ejemplo 2: programa para calcular el área del cuadrado

semillas vs esporas
 #include int sum(); void main() { printf('Going to calculate the area of the square
'); float area = square(); printf('The area of the square: %f
',area); } int square() { float side; printf('Enter the length of the side in meters: '); scanf('%f',&side); return side * side; } 

Producción

 Going to calculate the area of the square Enter the length of the side in meters: 10 The area of the square: 100.000000 

Ejemplo de función con argumento y sin valor de retorno

Ejemplo 1

 #include void sum(int, int); void main() { int a,b,result; printf('
Going to calculate the sum of two numbers:'); printf('
Enter two numbers:'); scanf('%d %d',&a,&b); sum(a,b); } void sum(int a, int b) { printf('
The sum is %d',a+b); } 

Producción

 Going to calculate the sum of two numbers: Enter two numbers 10 24 The sum is 34 

Ejemplo 2: programa para calcular el promedio de cinco números.

 #include void average(int, int, int, int, int); void main() { int a,b,c,d,e; printf('
Going to calculate the average of five numbers:'); printf('
Enter five numbers:'); scanf('%d %d %d %d %d',&a,&b,&c,&d,&e); average(a,b,c,d,e); } void average(int a, int b, int c, int d, int e) { float avg; avg = (a+b+c+d+e)/5; printf('The average of given five numbers : %f',avg); } 

Producción

 Going to calculate the average of five numbers: Enter five numbers:10 20 30 40 50 The average of given five numbers : 30.000000 

Ejemplo de función con argumento y con valor de retorno

Ejemplo 1

 #include int sum(int, int); void main() { int a,b,result; printf('
Going to calculate the sum of two numbers:'); printf('
Enter two numbers:'); scanf('%d %d',&a,&b); result = sum(a,b); printf('
The sum is : %d',result); } int sum(int a, int b) { return a+b; } 

Producción

 Going to calculate the sum of two numbers: Enter two numbers:10 20 The sum is : 30 

Ejemplo 2: Programa para comprobar si un número es par o impar

 #include int even_odd(int); void main() { int n,flag=0; printf('
Going to check whether a number is even or odd'); printf('
Enter the number: '); scanf('%d',&n); flag = even_odd(n); if(flag == 0) { printf('
The number is odd'); } else { printf('
The number is even'); } } int even_odd(int n) { if(n%2 == 0) { return 1; } else { return 0; } } 

Producción

 Going to check whether a number is even or odd Enter the number: 100 The number is even 

Funciones de la biblioteca C

Las funciones de biblioteca son funciones incorporadas en C que se agrupan y colocan en un lugar común llamado biblioteca. Estas funciones se utilizan para realizar algunas operaciones específicas. Por ejemplo, printf es una función de biblioteca que se utiliza para imprimir en la consola. Las funciones de la biblioteca son creadas por los diseñadores de compiladores. Todas las funciones de la biblioteca estándar de C se definen dentro de los diferentes archivos de encabezado guardados con la extensión .h . Necesitamos incluir estos archivos de encabezado en nuestro programa para hacer uso de las funciones de biblioteca definidas en dichos archivos de encabezado. Por ejemplo, para utilizar las funciones de la biblioteca como printf/scanf, necesitamos incluir stdio.h en nuestro programa, que es un archivo de encabezado que contiene todas las funciones de la biblioteca relacionadas con la entrada/salida estándar.

La lista de archivos de encabezado más utilizados se proporciona en la siguiente tabla.

SNArchivo de cabeceraDescripción
1stdio.hEste es un archivo de encabezado de entrada/salida estándar. Contiene todas las funciones de la biblioteca relacionadas con la entrada/salida estándar.
2conio.hEste es un archivo de encabezado de entrada/salida de la consola.
3cadena.hContiene todas las funciones de biblioteca relacionadas con cadenas como get(), puts(), etc.
4stdlib.hEste archivo de encabezado contiene todas las funciones generales de la biblioteca como malloc(), calloc(), exit(), etc.
5matemáticas.hEste archivo de encabezado contiene todas las funciones relacionadas con operaciones matemáticas como sqrt(), pow(), etc.
6tiempo.hEste archivo de encabezado contiene todas las funciones relacionadas con el tiempo.
7ctype.hEste archivo de encabezado contiene todas las funciones de manejo de caracteres.
8stdarg.hLas funciones de argumentos variables se definen en este archivo de encabezado.
9señal.hTodas las funciones de manejo de señales están definidas en este archivo de encabezado.
10setjmp.hEste archivo contiene todas las funciones de salto.
11local.hEste archivo contiene funciones locales.
12errno.hEste archivo contiene funciones de manejo de errores.
13afirmar.hEste archivo contiene funciones de diagnóstico.

A continuación se proporcionan detalles adicionales sobre las funciones C:

Hay varias informaciones adicionales relacionadas con las funciones de C. Algunos de ellos son los siguientes:

Programación modular: La habilidad para dividir a gran programa en módulos más pequeños y manejables es uno de los principales beneficios de utilizar funciones en C. Cada función puede contener un trabajo o componente de funcionalidad particular, lo que agiliza y aclara la estructura general del programa. Esta estrategia modular mejora la reutilización del código y facilita el mantenimiento y la depuración.

comando grep en linux

Reutilización de código: Al utilizar funciones, puede crear un determinado algoritmo o pieza de lógica solo una vez y utilizarlo repetidamente a lo largo de su programa. Puede simplemente llamar a la función en cualquier momento que necesite ejecutar el código, lo que le evitará tener que duplicarlo en otro lugar. No solo acelera el desarrollo pero también asegura la coherencia y reduce la posibilidad de cometer errores.

Encapsulación y abstracción: Al oscurecer los detalles de la implementación de la funcionalidad, las funciones ofrecen un nivel de abstracción. La interfaz de un prototipo de función se puede definir en un archivo de cabecera , mientras que la implementación real se puede proporcionar en un archivo fuente diferente. Otras partes del programa pueden utilizar la función sin necesidad de comprender cómo se implementa internamente debido a la separación entre interfaz e implementación.

Mantenimiento sencillo del programa: Un programa puede entenderse y mantenerse más fácilmente si se divide en funciones más pequeñas. La capacidad de asignar una responsabilidad específica a cada función hace que el código sea más legible y facilita la resolución de problemas y la depuración. Puede concentrarse en la función necesaria sin afectar otras partes del programa si se encuentra un error o se necesita una modificación.

Colaboración mejorada: Las funciones permiten colaborar a los desarrolladores que trabajan en el mismo proyecto. El programa se puede dividir en funciones para que varios miembros del equipo puedan trabajar en diferentes funciones En seguida. Los desarrolladores pueden integrar sin problemas su trabajo en las funciones si las interfaces están bien especificadas, lo que mejora la productividad y promueve un desarrollo eficaz.

Pasando el parámetro: Puedes enviar argumentos o datos a una función en C para que pueda procesarlos. La función puede llevar a cabo acciones y generar resultados utilizando estos insumos. Puede aumentar la flexibilidad y adaptabilidad de las funciones pasando parámetros, lo que aumentará la versatilidad general de su programa.

Valores de retorno: Las funciones pueden enviar valores al código que las llamó, lo que permite la comunicación de los resultados de la ejecución de la función. Puede utilizar el valor devuelto en otras áreas del programa después de realizar cálculos o manipulación de datos dentro de la función. Valores de retorno son especialmente útiles cuando necesita calcular un resultado o establecer una condición dependiendo de la salida de la función.

Conclusión:

En conclusión, las funciones son esenciales para la programación en C porque dan al programa Organización, reutilización y modularidad. . Los desarrolladores pueden evitar la creación repetida del mismo código dividiendo programas enormes en funciones más pequeñas, haciendo que el código sea más efectivo y más sencillo de mantener. En cualquier parte del programa se puede llamar a una función, lo que proporciona flexibilidad y mejora el flujo de control.

El declaración, llamada , y definición de funciones son sólo algunas de sus muchas características. El compilador es informado por la declaración de función del nombre, argumentos , y tipo de retorno . Es posible llamar a una función con o sin parámetros y con o sin valor de retorno . Los programadores construyen funciones definidas por el usuario para mejorar la legibilidad y optimización de su código, mientras que la biblioteca C funciona como imprimirf() y escaneo() proporcionar capacidades preestablecidas.

En general, las funciones son bloques de construcción cruciales en la programación en C y brindan beneficios que incluyen una mayor organización, reutilización de código y un seguimiento simple de programas enormes. Las llamadas a funciones podrían agregar algunos gastos generales, pero sus ventajas superan el impacto mínimo en el rendimiento. Los programadores pueden escribir programas C modulares y eficaces comprendiendo y utilizando funciones.