Bloques

Las instrucciones pueden ser simples (expresiones o sentencias de control de flujo) o compuestas. Una instrucción compuesta es una secuencia de instrucciones encerradas entre llaves, denominada bloque. Los bloques, además de formar una entidad de ejecución, añaden la posibilidad de tener variables locales propias. Es posible definir variables que oculten a otras definidas en un ámbito externo a éstas.

Ejemplo

Se muestra un ejemplo en el que se definen variables que ocultan a otras definidas en un ámbito externo a éstas.

#include <stdio.h>
int main(){
  int i,j,k;
  ...
  {
    float c=3.5,i=0; /* i entera es ocultada por i real */
    ...
    {
      char i='A';    /* i real es ocultada temporalmente por una nueva i */
      ...            /* i es un carácter */
    }                /* reaparece i real sin ninguna modificación */
    c=i;             /* i real se asigna a c real */
    ...
  }                  /* reaparece i entera sin ninguna modificación */
  j=i;               /* i entera se asigna a j */
   return 0;
}