Dichiarazioni di Variabili

La dichiarazione di una variabile adesso è considerata come una istruzione. Questo significa che puoi crearne una in qualsiasi parte del tuo codice.

Esempio:

void foo()
{
  int i = 1;
  printf ("%d\n", i);             // modalità C
  int j = 1;                      // Non permesso in C
  printf ("%d\n", j);
  for (int k = 1; k < 10; k++)    // Davvero non permesso in C
    printf ("%d\n", k);
}
Appena dichiari una variabile, essa è visibile nel blocco di codice in cui è stata dichiarata (un blocco di codice inizia con una "{" e finisce con una "}"). Ma dopo la fine del blocco, o prima della dichiarazione, la variabile non sarà utilizzabile. Per chiarire vediamo degli esempi sbagliati:
{
  // Dopo questa linea (quella del for), i sarà visibile (per convenzione)
  // solo nel blocco di codice seguente. (Nota: nelle prime versioni dello
  // standard del C++, era visibile anche per tutto il resto della funzione.
  // Ma adesso questa regola non è più valida, e le cose sono un po' più logiche).
  for (int i = 0; i < 5; i++) // Dichiarazione di i per l'intero ciclo
  {                           // Inizio del blocco dentro cui i è "viva" e rimane dichiarata
    int j;
  }                           // Dopo questo }, i e j sono sconosciute

  // Poichè i è morta, non è più dichiarata, perciò questo è permesso:
  // in altri termini occorre dichiarare una nuova variabile i.
  // scrivendo for (int i = 0; i < 5; i++)
  for (i = 0; i < 5; i++)
  {
  }

  j = 2;                      // errore: j non dichiarata
  do
  {
    FILE *f = fopen ("my_file", "r");
  }
  while (f == NULL);          // f sconosciuta, ERRORE

}

C++