A compound statement, or block , allows a sequence of statements to be treated as a single statement. A block is entered normally when control flows into it, or when a goto statement transfers control to a label at the beginning of the block itself. Each time the block is entered normally, storage is allocated for auto or register variables. If, on the other hand, a goto statement transfers control to a label inside the block or if the block is the body of a switch statement, these storage allocations do not occur. For more information about storage classes, see Section 2.10 .
Function definitions contain compound statements.
The compound statement following the parameter declarations in a function definition is called the function body.