Nesting of Functions and Function Calls

A nested function is a function which is defined inside the definition of another function. It can be defined wherever a variable declaration is permitted, which allows nested functions within nested functions.

A nested function can access all identifiers of the containing function that precede its definition.
A nested function must not be called after the containing function exits.

A nested function cannot use a goto statement to jump to a label in the containing function.
        int i = 0;
                i = 10;