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.
SN | Aspectos de la función C | Sintaxis |
---|---|---|
1 | Declaración de función | return_type nombre_función (lista de argumentos); |
2 | Llamada de función | nombre_función (lista_argumentos) |
3 | Definición de función | tipo_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:
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.
SN | Archivo de cabecera | Descripción |
---|---|---|
1 | stdio.h | Este es un archivo de encabezado de entrada/salida estándar. Contiene todas las funciones de la biblioteca relacionadas con la entrada/salida estándar. |
2 | conio.h | Este es un archivo de encabezado de entrada/salida de la consola. |
3 | cadena.h | Contiene todas las funciones de biblioteca relacionadas con cadenas como get(), puts(), etc. |
4 | stdlib.h | Este archivo de encabezado contiene todas las funciones generales de la biblioteca como malloc(), calloc(), exit(), etc. |
5 | matemáticas.h | Este archivo de encabezado contiene todas las funciones relacionadas con operaciones matemáticas como sqrt(), pow(), etc. |
6 | tiempo.h | Este archivo de encabezado contiene todas las funciones relacionadas con el tiempo. |
7 | ctype.h | Este archivo de encabezado contiene todas las funciones de manejo de caracteres. |
8 | stdarg.h | Las funciones de argumentos variables se definen en este archivo de encabezado. |
9 | señal.h | Todas las funciones de manejo de señales están definidas en este archivo de encabezado. |
10 | setjmp.h | Este archivo contiene todas las funciones de salto. |
11 | local.h | Este archivo contiene funciones locales. |
12 | errno.h | Este archivo contiene funciones de manejo de errores. |
13 | afirmar.h | Este 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.