In C programs, we also consider it a good idea to place all the #include statements in a file such as includes.h, which is subsequently included in each relevant C source file. This is helpful because if a new header file needs to be added, it can simply be added to includes.h. Furthermore, if a source file suddenly needs to have access to a global variable or function prototype which is already present in one of the header files, then no changes need to be made; the header file is already included. A downside to this approach is that each header file is included in every source file which includes includes.h, regardless of whether a particular header file is actually needed by that source file; this could potentially lead to longer compile times, but it isn't likely to make a discernable difference, at least in C.2
Along similar lines, it is helpful to define all global variables in one location (in the main program file, or else within globals.c), and they should be declared within another standard location (perhaps globals.h, or common.h).3Similarly, if functions are used in several different source code files, the programmer may wish to place all function prototype declarations in a single header file, with the same name as the program or library, or perhaps called protos.h.