This document discusses different types of variables and functions in C programming. It defines user defined functions as functions designed by the user as opposed to pre-defined functions. It also categorizes functions based on whether they have arguments and return values. The document outlines the elements of a user defined function like declaration, definition, call. It further explains different storage classes like automatic, static, external and register variables.