Typical C code uses the #include "filename" or #include <filename> syntax to include the header files with definitions into the program. What really happens is a COPY of the files referenced is placed at the top of the program, in the order of reference. You will need to take care that nothing is included twice if it would cause a problem. This is why header files are protected using the conditional compilation mechanism.
header.h: #ifndef HEADERFILENAME_H #define HEADERFILENAME_H ..... #endif cfile.c: #include "header.h" .... #include "header.h" // not included because HEADERFILENAME // already defined from first include