Aquí veremos cuál es el propósito de usar prototipos de funciones en C o C++. Los prototipos de funciones se utilizan para informar al compilador sobre el número de argumentos y sobre los tipos de datos requeridos de un parámetro de función, también informa sobre el tipo de retorno de la función. Con esta información, el compilador comprueba las firmas de función antes de llamarla. Si no se mencionan los prototipos de funciones, entonces el programa puede compilarse con algunas advertencias, y a veces generar alguna salida extraña.
Si se llama a alguna función en algún lugar, pero su cuerpo no está definido todavía, que se define después de la línea actual, entonces puede generar problemas. El compilador no encuentra cuál es la función y cuál es su firma. En ese caso, necesitamos prototipos funcionales. Si la función está definida antes, no necesitamos prototipos.
Ejemplo de Código
#include<stdio.h>main() { function(50);}void function(int x) { printf("The value of x is: %d", x);}
Salida
The value of x is: 50
Esto muestra la salida, pero se está mostrando algunos de advertencia como la siguiente:
conflicting types for 'function' previous implicit declaration of 'function' was here
Now using function prototypes, it is executing without any problem.
Example Code
#include<stdio.h>void function(int); //prototypemain() { function(50);}void function(int x) { printf("The value of x is: %d", x);}
Output
The value of x is: 50