Diferencia entre declaración y definición en C

los diferencia clave entre declaración y definición en C es que La declaración en C le dice al compilador sobre el nombre de la función, el tipo de retorno y los parámetros, mientras que la definición en C contiene la implementación real de la función.. Es decir, la declaración proporciona información sobre la función al compilador, mientras que la definición contiene las declaraciones reales de la función para realizar una tarea específica.

C es un lenguaje de programación estructurado de propósito general. Utiliza estructuras de control como if / else, repeticiones como for loop, while loop y funciones. Una función es un conjunto de sentencias que ayuda a realizar una determinada tarea una y otra vez. Además, es posible llamar a las funciones desde la función principal. Después de ejecutar la última instrucción de la función, el control vuelve a la función principal. Este artículo discute la declaración y definición de funciones en C y compara la diferencia entre ellas. La definición de la función especifica lo que hace la función, y la declaración especifica qué va a la función; es un prototipo.

CONTENIDO

1. Resumen y diferencia clave
2. Qué es la Declaración en C
3. ¿Qué es la definición en C?
4. Comparación lado a lado - Declaración vs Definición en C en forma tabular
5. Resumen

Qué es la Declaración en C?

La declaración proporciona información sobre la función al compilador. La sintaxis de la declaración es la siguiente.

return_ type function_name (lista de parámetros);

Supongamos una función que calcula la suma de dos enteros. La declaración es la siguiente.

int sum (int num1, int num2);

El nombre de la función es suma, y ​​los parámetros son dos enteros que son num1 y num2. Esta función devuelve un entero. La declaración completa termina con un punto y coma..

No es necesario incluir los nombres de los parámetros en la declaración. Por lo tanto, también es posible mencionar solo el tipo de datos de la siguiente manera. Lo siguiente es una declaración válida.

int sum (int, int);

¿Qué es la definición en C??

La definición contiene las declaraciones reales de la función para realizar una tarea específica. La sintaxis es la siguiente.

return_type function_name (lista de parámetros)

// declaraciones de funciones

El nombre de la función ayuda a identificar la función. Cuando se invoca una función, los valores pasan a esa función. Estos valores se copian a los parámetros. La lista de parámetros puede contener un parámetro o número de parámetros. Y estos parámetros tienen un tipo de datos y un nombre. Además, puede haber funciones sin ningún parámetro también.

Las declaraciones de la función están dentro de las llaves. Es la función del cuerpo. Después de ejecutar la función, devolverá un valor. El tipo de retorno depende del valor de retorno. Si la función devuelve un entero, el tipo de retorno es int. Si la función devuelve un doble, entonces el tipo de retorno es doble, etc..

Consulte el siguiente código con la declaración y definición de una función.

Figura 01: Programa para calcular la suma de dos números

De acuerdo con el programa anterior, la línea 3 muestra la declaración. Le informa al compilador sobre el nombre de la función, los parámetros, etc. En la función principal, dos valores se toman del teclado y se almacenan en las variables 'a' y 'b'. En la línea 12, estos valores se pasan a la función llamada suma. Este 'a' y 'b' son argumentos.

En la línea 16, se ejecuta la función de suma. Copia el valor a a num1 y el valor b a num2. Esta función devuelve la suma y ese valor se almacena en la variable 'ans' (línea 12). Finalmente, la respuesta se imprime en la pantalla. En resumen, la línea 3 muestra la declaración, mientras que la línea 16 a 18 muestra la definición.

¿Cuál es la diferencia entre declaración y definición en C??

Declaración es un prototipo que especifica el nombre de la función y la firma del tipo, como los tipos de datos, los tipos de retorno y los parámetros, pero omite el cuerpo de la función. Definición especifica el nombre de la función y las firmas de tipo, como los tipos de datos, los tipos de retorno y los parámetros, e incluye el cuerpo de la función. La declaración le dice al compilador sobre el nombre de la función y cómo llamarlo. Por otro lado, la definición contiene la implementación real de la función. Describe la tarea de la función..

Resumen - Declaración vs Definición en C

La diferencia entre la declaración y la definición en C es que la declaración en C le dice al compilador sobre el nombre de la función, el tipo de retorno y los parámetros, mientras que la definición en C contiene la implementación real de la función.

Referencia:

1. Punto de tutoría. "Funciones C".  Punto de tutoriales, 19 de marzo de 2018. Disponible aquí  
2. "Prototipo de función". Wikipedia, Fundación Wikimedia, 28 de mayo de 2018.. Disponible aquí