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.
func1()
{
int i = 0;
func2()
{
i = 10;
}
}