This document discusses user defined functions in C programming. It defines functions as self-contained programs that can be divided into smaller modules to make programs more maintainable and readable. The key parts of a function are defined as the function prototype, definition, actual and formal arguments, and return statement. Functions allow for code reusability, modularity, easier debugging and maintenance of programs. Methods of passing arguments to functions include call by value and call by address.