In C most of the commonly used functions are categorized in a re-locatable format in a standard library. A standard library is actually the building block of a C program. Instead of the absolute information for memory addresses, only offset information is defined in these standard libraries. That way it is easier to use a function again and again by just including a standard library. Every compiler has a linker which is used to link the standard libraries in the C program.