1) A function is a block of code that performs a specific task and can be called from different parts of a program. 2) Functions help divide a program into logical units and allow code to be reused. Each function should have a single, well-defined purpose. 3) Functions can return values, cause side effects, or both. The return value is specified by the return type and return statement. 4) Formal parameters in a function definition must match the actual parameters passed during a function call in type, order, and number.