Linguaggio C - Variabili

Ad ogni variabile e' associato:
o Un nome (identificatore).
o Un tipo (insieme dei valori che puo' assumere).
o Un'area di memoria (per contenere il valore assunto).
o Un indirizzo (riferimento all'area di memoria).
o Un valore (in istanti diversi la variabile puo' assumere valori differenti, purche' coerenti con il tipo).

Si definisce una variabile con la sintassi:

tipo identificatore1 [= inizializzazione1 ] [, identificatore2 [= inizializzazione2 ]] ... ;

Il C e' un linguaggio:
o tipato, poiche' le variabili sono dotate di tipo.
o non strettamente tipato, poiche' i controlli sui tipi non sono stretti a differenza, per esempio, di quanto avviene nel Pascal (linguaggio strettamente tipato).

Il tipo puo' essere preceduto da una classe di memoria e/o da un qualificatore di tipo.
Entrambi sono opzionali e possono essere specificati per informare il compilatore che si intende associare alla variabile in via di definizione o di dichiarazione una diversa caratteristica da quella previstita di default.

Qualificatori di tipo

Il C prevede 2 specificatori di tipo:
o const
Indica che la variabile non puo' essere modificata.
Viene impiegato sia per la definizione che per la dichiarazione di variabili.
o Definizione: La variabile da definire con il qualificatore const di solito viene inizializzata al momento della definizione. Esempio:
  const float pi_greco = 3.1415;
  
  /* non c'e' motivo di modificare tale valore */                    
                    
o Dichiarazione: La dichiarazione di variabili con il qualificatore const di solito viene utilizzata negli argomenti di una funzione, per specificare l'inalterabilita' dell'argomento stesso: Esempio:
  int strlen(const char *s);

  /* la stringa s non viene alterata dalla funzione strlen() */
                    
o volatile
La variabile puo' essere modificata dal sistema in uso, sia dal sistema operativo sia dall'hardware, come per esempio l'orologio di sistema, canali di ingresso (es: buffer della tastiera), routine di interrupt, ...
E' comunque facolta' del compilatore considerare i qualificatori di tipo. In altri termini: il risultato dipende dall'implementazione
Indice-C Indice linguaggio C
At Home Umberto Zappi Home Page