In this lecture we'll learn about declaring and defining C functions. Along the way we'll talk about header files and function prototypes. We'll also learn about the phases of compilation, from the preprocessor, through the compiler and assembler, to the linker.