Prototipos de funciones
Parte de la sección Fundamentals del Journey de C de Coddy — lección 51 de 63.
En C, podemos declarar una función antes de usarla. Un prototipo de función le informa al compilador sobre el nombre, los parámetros y el tipo de retorno de una función antes de que se defina la función real.
Crea un prototipo de función para una función que suma dos números enteros:
int add(int a, int b);Luego define la función:
int add(int a, int b) {
return a + b;
}El prototipo suele estar por encima de main, mientras que la función en sí está por debajo de main, para que el código se vea más limpio.
Ahora puedes usar esta función en el main:
int main() {
int result = add(5, 3);
printf("%d", result);
return 0;
}Sin el prototipo, si llamas a la función antes de su definición, obtendrás un error de compilación.
Desafío
FácilCrea un programa que:
- Declare un prototipo de función para una función llamada
calculateAreaque reciba dos enteros (length y width) y devuelva un entero. - Implemente la función para calcular y devolver el área (length × width).
- En la función main, obtenga dos enteros del usuario, llame a
calculateAreay muestre el resultado.
Hoja de referencia
El prototipo de una función declara una función antes de que sea definida, informando al compilador sobre el nombre de la función, sus parámetros y el tipo de retorno:
int add(int a, int b);Luego define la función:
int add(int a, int b) {
return a + b;
}El prototipo se coloca generalmente encima de main, mientras que la definición de la función va debajo de main:
int add(int a, int b); // prototipo
int main() {
int result = add(5, 3);
printf("%d", result);
return 0;
}
int add(int a, int b) { // definición
return a + b;
}Sin el prototipo, llamar a una función antes de su definición causará un error de compilación.
Pruébalo tú mismo
#include <stdio.h>
// Escribe el prototipo de tu función aquí
int main() {
// Declara y lee las variables
// Llama a tu función e imprime el resultado aquí
return 0;
}
// Implementa tu función aquíEsta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Fundamentals
4Flujo de control
Sentencia IfIf - ElseElse-IfSwitch CaseOperador condicional ternarioDesafío de repasoIf - Else anidados7Funciones
Declarar una funciónTipos de retornoParámetrosDesafío de repaso n.º 1Fundamentos de recursividadPrototipos de funcionesDesafío de repaso n.º 22Variables
Tipos de datosEnterosFloat - DoubleCaracteresBooleanosConstantesConceptos básicos de printfReglas para nombrar variablesConversión de tipos Parte 1Conversión de tipos Parte 2Desafío de repaso3Operadores
Operadores aritméticosOperador de móduloIncremento/DecrementoOperadores de asignaciónOperadores relacionalesOperadores lógicos - Parte 1Operadores lógicos - Parte 2Operadores lógicos - Parte 3Desafío de repaso