Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Temas - tecno46

#1
Hola amigos.
Estoy aprendiendo C y estaba repasando en mi libro de texto el uso de los archivos header o cabecera. Yo me hice un ejercicio compuesto de 4 archivos, que son los siguientes..


  • main.c
  • funciones.c
  • funciones.h
  • global.h

main.c

#include "global.h"
#include "funciones.h"

int main(int argc, char** argv) {
    int i;
    char a, b, c;
    for (i = 1; i < 3; ++i) {
        printf("Introduzca primer caracter: ");
        scanf("%c", &a);
        printf("Introduzca segundo caracter: ");
        flush_in();
        scanf("%c", &b);
        printf("Introduzca tercer caracter: ");
        flush_in();
        scanf("%c", &c);
        printf("Los valores son: %c, %c, %c \n", a, b, c);
        flush_in();
    }
    return (EXIT_SUCCESS);
}



funciones.c

#include "funciones.h"

/* Limpia buffer de entrada */
void flush_in(void) {
    int ch;
    while ((ch = fgetc(stdin)) != EOF && ch != '\n') {}
}



funciones.h

#ifndef YA_INCLUIDOS_FUNCIONES_H
#define YA_INCLUIDOS_FUNCIONES_H

#include "global.h"

#endif /* YA_INCLUIDOS_FUNCIONES_H */



global.h

#ifndef GLOBAL_H
#define GLOBAL_H

#include <stdio.h>
#include <stdlib.h>

#endif /* GLOBAL_H */



Bien, lo que yo no entiendo es ¿cómo puede el compilador hallar la función flush_in en main.c si el header (funciones.h) ni siquiera exporta el prototipo?

Pido disculpas si la pregunta es muy noob, pero yo no la sé :D ...