I have just come across an issue that i am just not able to understand..
i have declared a structure in one of .c files ..

struct fun {
char var1;
int var 2;
struct fun *next 
now what i have done is i have made a header file and put a typedef like:

typedef struct fun morefun
and GOD KNOWS how the header file is able to know that the structure has been defined in the other file..and code is compiling with not even a single warning..