hi, 1) when we write #include<stdio.h> whrer will gcc search for header file stdio.h. ??? How to know the list of all directories it searches for header files? 2) I have two .c (1.c and 2.c) files. Both include a(same) header file(1.h). 1.h defines a variable say "int a" When we compile 1.c and 2.c to produce a single executable file why gcc will not generate error " int a is decleared two times"? 3) At waht intermediate representation the contents of a header file will be copied to contents of .c file? 4) If GCC is written in C language who will compile it to produce the the the executable (compiler itself)? I mean ..when GCC is written in C for the first time, how did they compile it?? At that time no C compiler was there.