1. Suppose that there are lots of programs that would like to use the functions contained in ``help.c''. For every program, we are going to have to remember to copy the function headers from ``help.c'' as function declarations. This is a tedious and error prone procedure.
  2. Once we have copied over the headers, we will have multiple copies of the same information. The declaration of the functions appear in the using file (in our case, ``main.c''), while the implementations are somewhere else. What might happen as we begin to change the two programs? Over time, if we're not careful, the declarations in ``main.c'' may become different from the headers in ``help.c''. At that point, our declarations will be worse than useless-they'll be wrong!

Return to lesson.