Estoy tratando de enseñarme C Programación y estoy usando DevC++ para mi IDE en Windows XP. Estoy un poco confundido sobre la forma correcta de llamar a mis propios archivos de encabezado.C Archivos de encabezado - Forma correcta de incluir
tengo mi archivo principal fuente llamada main.c y un archivo separado para las funciones de llamada myFunctions.c que incluyo en main.c usando 'incluyo 'myFunctions.h' con todos mis prototipos de las funciones que residen en esta cabecera archivo.
myFunctions.c contiene dos funciones una llamada showDate() y otra llamada showScreen() y ambas funciones se pueden llamar desde main.c todo bien y bien.
Mis problemas comenzaron cuando intenté llamar a showDate() desde dentro de showScreen() y durante la compilación/vinculación se quejaba porque no tenía un prototipo dentro de myFunctions.c para showDate().
Lo que quiero saber es ¿cuál de las siguientes cosas debo hacer?
incluyen "myFunctions.h" dentro de myFunctions.c
- Declarar el prototipo en tanto myFunctions.h y myFunctions.c
- Declarar el prototipo en tan sólo myFunctions.c única
Todo lo anterior parece corregir el error del compilador y me permite llamar a la función bot desde main.c y dentro de myFunctions.c pero no puedo encontrar una fuente definitiva de cuál es el procedimiento correcto.
Quizás considere la visibilidad antes de decidir entre # 1 y # 3. Use # 1 si necesita llamar a esta función desde otro archivo .c. Use # 3 si la función no es necesaria en ningún lugar fuera del archivo local. De esta manera se reduce el desorden en los archivos de encabezado y realmente se pueden usar como definición de interfaz. –
Derecha. Las funciones que se invocan desde otro lugar deben estar en el archivo .h. Las funciones que son internas deben declararse estáticas y prototipadas en el archivo .c. Eso le da a C una modularidad muy necesaria. –