This document defines and explains functions in C programming. It states that a function is a block of code that performs a specific task and contains its own definition. There are two types of functions: predefined functions that are included in header files, and user-defined functions that are created by the user. User-defined functions can have no arguments with no return type, no arguments with a return type, arguments with no return type, or arguments with a return type. Arguments pass data values from the calling function to the called function. A function is called by another function and will only execute when called.