C ¿Por qué no poner todas las definiciones de funciones en archivos de encabezado?
Si la definición se coloca en el archivo de encabezado, no puede ser utilizada por múltiples archivos fuente.
Debido a que el archivo fuente usa la directiva #include para hacer referencia al archivo de encabezado, en realidad es simplemente copiar y pegar, es decir, copiar el contenido del archivo de encabezado a la línea #include en el archivo fuente. . Si la definición se coloca en un archivo de encabezado y se cita en varios lugares, la misma función será compilada repetidamente por varios archivos fuente y se producirán errores de compilación.
De esta manera, no se pueden escribir algunas funciones generales para su reutilización.