In my textbook, the three terms were explained as follows:
- a library is a collection of functions and symbols
- each library has its own header file
- the meaning of identifiers are collected in header files

Does this mean that:
- a library is an abstract idea (the idea of a collection)
- a header file is an actual list of the functions and symbols
- a header file gives the definition for each name of the function/symbol
- an identifier is the name of a function/symbol