They are the building blocks upon which programs are built. All programs must have a function called 'main'. The first instruction in 'main' becomes the first instruction in the program.
Functions can return any type except an array or a function type.
If no type is included, the default is 'int'. Functions that return nothing have a return type of void. One can consider the declaration of the return type as a description of one of the mechanisms a function has to communicate with the rest of the program. Each element of the parameter list is declared using a format similar to that used in variable and constant declarations. Commas separate the elements of the list and a semicolon appears after the closing parenthesis.