Header files should contain structure declarations
and function prototypes
for every structure
and function that you expect to appear in
more than one file.
You can declare functions, using function prototypes, as often as you like.
You can define them only once.
If you want to compile a set of files independently,
then include appropriate header files,
and instantiate the following pattern:
cc -c first source specification ...
If you want to link together a set of independently compiled files
to form a working program,
then instantiate the following pattern on one line:
cc -o executable file specificationfirst object-file specification
...