Contenido del Curso
C Básico
C Básico
Encabezado, Prototipos
A lo largo de este curso, hemos utilizado consistentemente el archivo stdio.h
. Este archivo sirve como el encabezado estándar de entrada/salida.
Dentro de él se encuentra el prototipo de la función printf()
, una función que hemos empleado en cada lección.
Aquí hay un error intencional para ilustrar un punto:
Main
//#include <stdio.h> int main() { printf("Using `printf()` without `stdio.h`"); return 0; }
Si excluyes el archivo stdio.h
, la función printf()
dejará de funcionar. Invocar esta función sin el encabezado generará un error.
Comprendiendo los Archivos de Encabezado
Los archivos de encabezado como stdio.h
albergan declaraciones de variables, arreglos y prototipos de funciones. Ellos modularizan el código de tu proyecto, permitiéndote adjuntar componentes según sea necesario. Este enfoque agiliza tus proyectos.
Prototipos de Funciones
Un prototipo de función es esencialmente una declaración de función sin su implementación real. Piensa en un prototipo como un "aviso" para el compilador, señalando la existencia de tu función.
Se asemeja a una función estándar pero sin los detalles. Toma nota del punto y coma final (;
). Ahora, ¿cómo manejamos un prototipo de función en un archivo de encabezado dedicado?
Proyectos Multi-Archivo
Hasta este punto, hemos escrito nuestras variables y funciones en un solo archivo, junto a la función main
. Sin embargo, en el desarrollo profesional, esto no es lo habitual. Vamos a idear una función para estimar la duración de carga/descarga de un condensador en función de su capacitancia y resistencia.
Nuestro proyecto se segmentará en tres archivos:
func.h
- aquí se almacenará el prototipo de la función;func.c
- la implementación de nuestra función de cálculo del tiempo de carga/descarga del condensador residirá aquí;main.c
- este archivo principal será donde se invoquen todas las funciones.
Ejecutar este programa produce:
Nota
%.2f
especifica que el resultado debe mostrarse con dos decimales.
¡Gracias por tus comentarios!