A block in C is a section of code surrounded by braces { }. Understanding the definition of a block is very important to understanding many other C concepts, such as scope, visibility, and external or internal declarations.
The following example shows two blocks, one defined inside the other:
main ()
{ /* This brace marks the beginning of the outer block */
int x;
if (x!=0)
{ /* This brace marks the beginning of the inner block */
x = x++;
return x;
}; /* This brace marks the end of the inner block */
} /* This brace marks the end of the outer block */
A block is also a form of a compound statement; a set of related C statements enclosed in braces. Declarations of objects used in the program can appear within a block and affect the object's scope and visibility. Section 2.3 discusses scope; Section 2.4 discusses visibility.