Diferencia clave: prototipo de función frente a definición de función en C
Una función es un grupo de instrucciones que se utilizan para realizar una tarea específica. En programación C, la ejecución comienza desde main (). es una función En lugar de escribir todas las declaraciones en el mismo programa, se puede dividir en varias funciones. Cada función realizará diferentes funcionalidades. El prototipo de función le dice al compilador sobre el nombre de la función, los tipos de devolución y los parámetros. También se conoce como declaración de función. Cada función tiene un nombre particular para identificarla. Las declaraciones de función se escriben dentro de un par de llaves. Las funciones pueden devolver un valor. Hay algunas funciones que no devuelven un valor. Los datos se pasan a la función utilizando la lista de parámetros. La definición de función tiene la funcionalidad real realizada por la función. En la programación C, hay prototipo de función y definición de función. La diferencia clave entre el prototipo de función y la definición de función es que el prototipo de función solo contiene la declaración de la función, mientras que la definición de función contiene la implementación real de la función. La definición de la función tiene las variables locales y las sentencias que determinan lo que hace la función.
¿Qué es el prototipo de función en C?
Function Prototype proporciona la declaración de la función. Especifica el nombre de la función, los tipos de devolución, los parámetros. Los tipos de retorno son el tipo de datos que regresa de la función. Cuando una función devuelve un número entero, el tipo de devolución es int. Cuando una función devuelve un valor flotante, el tipo de retorno es flotante. Si la función no devuelve ningún valor, es una función nula. El nombre de la función se utiliza para identificarla. Las palabras clave de C no se pueden utilizar como nombres de funciones. Los datos se pasan a la función mediante parámetros. El prototipo de función no contiene la implementación real de la función. El prototipo de función tiene la siguiente sintaxis.
(lista de parámetros);
Si hay una función para calcular el máximo de dos números, la declaración se puede escribir como int max (int num1, int num2); El valor máximo debe encontrarse en num1 y num2. Esos son números enteros, y se pasan a la función. El tipo de retorno, al principio, también es int. Entonces, la función devuelve un valor entero. No es necesario escribir los nombres de los parámetros en el prototipo de función. Pero es necesario escribir los tipos de datos. Por lo tanto, int max (int, int); es también un prototipo de función válido. Si hay dos enteros como num1, num2, num3 y el prototipo se escribe como int max(int num1, int num2, num3); es inválidoEl num1, num2 tienen los tipos de datos, pero num3 no tiene un tipo de datos. Por lo tanto, no es válido.
Consulte el siguiente programa.
incluir
int CarMax(int x, int y);
int principal(){
int p=10;
int q=20;
respuesta int;
respuesta=calMax(p, q);
printf(“El valor máximo es %d\n”, respuesta);
retornar 0;
}
int calMax(int p, int q){
valor int;
if(p>q) {
valor=p;
}
más {
valor=q;
}
valor de retorno;
}
Según lo anterior, la segunda declaración muestra el prototipo de la función. No tiene la implementación. La implementación real es posterior al programa principal. Los prototipos de función son más útiles cuando se define una función en un archivo fuente y se llama a esa función en otro archivo.
¿Qué es la definición de función en C?
La definición de la función tiene la implementación real de la función. Contiene lo que la función debe hacer. Cuando el programa llama a la función, el control se transfiere a la función llamada. Después de la ejecución de la función, el control vuelve a la función principal. Los datos requeridos se pasan a la función como una lista de parámetros. Si hay un valor que regresa, entonces se menciona el tipo de retorno. Si no hay valores de retorno, el tipo de retorno es nulo. Consulte la siguiente función para calcular el área de un triángulo.
incluir
float calArea(int x, int y);
int principal () {
int p=10;
int q=20;
área plana;
área=calArea(p, q);
printf ("El valor máximo es %f\n", área);
retornar 0;
}
float calArea (int x, int y) {
valor flotante;
valor=0,5xy;
valor de retorno;
}
Según el programa anterior, la segunda declaración indica el prototipo de función. La implementación real de lo que realiza la función se escribe después del programa principal. Es la definición de la función. Los valores p y q se pasan a la función calArea. El valor de la variable es una variable local para la función calArea. El área se calcula y se asigna al valor de la variable. Luego regresa al programa principal.
¿Cuáles son las similitudes entre el prototipo de función y la definición de función en C?
- Tanto el prototipo de función como la definición de función están relacionados con las funciones.
- Tanto el prototipo de la función como la definición de la función contienen el nombre de la función.
- Tanto el prototipo de función como la definición de función contienen tipos de devolución.
- Tanto el prototipo de función como la definición de función contienen parámetros.
¿Cuál es la diferencia entre el prototipo de función y la definición de función en C?
Prototipo de función frente a definición de función en C |
|
El prototipo de la función especifica el nombre de la función, el tipo de retorno, los parámetros pero omite el cuerpo de la función. | La definición de la función especifica el nombre de la función, el tipo de retorno; los parámetros incluyen un cuerpo de función. |
Implementación | |
El prototipo de la función no tiene la implementación de la función. | La definición de la función tiene la implementación de la función. |
Resumen: prototipo de función frente a definición de función en C
Usar funciones en programas tiene ventajas. Las funciones aumentan la reutilización del código. No es necesario escribir el mismo código una y otra vez. En cambio, el programador puede dividir el programa y llamar a la función necesaria. En C hay funciones de biblioteca. Estas funciones se declaran en los archivos de encabezado C. Algunos de ellos son printf (), scanf (), etc. El programador también puede escribir sus propias funciones. Hay dos términos que están asociados con las funciones en C. Son prototipo de función y definición de función. La diferencia entre el prototipo de función y la definición de función en C es que el prototipo de función solo contiene la declaración de la función, mientras que la definición de función contiene la implementación real de la función.
Descargue el PDF de Prototipo de Función vs Definición de Función en C
Puede descargar la versión en PDF de este artículo y usarla sin conexión según la nota de la cita. Descargue la versión en PDF aquí: Diferencia entre el prototipo de función y la definición de función en C