Le variabili



Qualunque programma abbiamo in mente di realizzare, qualsiasia sia il linguaggio utilizzato, necessiterà dell'utilizzo di alcune variabili, questo è ovvio!
Vediamo, allora, i tipi standard che ci mette a disposizione il C:

Unsigned charCaratteri senza segno a 8 bit
CharCaratteri con segno a 8 bit
EnumNumeri interi con segno a 16 bit
Unsigned intNumeri interi senza segno a 16 bit
Short intNumeri interi con segno a 16 bit
IntNumeri interi con segno a 16 bit
Unsigned longNumeri interi senza segno a 32 bit
LongNumeri interi con segno a 32 bit
FloatNumeri reali a 32 bit
DoubleNumeri reali a 64 bit
Long doubleNumeri reali a 80 bit


Le variabili si dichiarano anteponendo al nome della variabile il tipo:

int a;
Abbiamo dichiarato una variabile 'a' di tipo intero
char nome;
Abbiamo dichiarato una variabile 'nome' di tipo char, cioè di tipo stringa

Le variabili negli assegnamenti si comportano seguendo l'ordine da destra a sinistra:
a = 10;
Ho assegnato alla variabile 'a' il valore 10
int a=10;
Ho assegnato ad 'a' un valore e contemporaneamente l'ho inizializzata
int a, b;
a = b = 10;

Ho prima dichiarato a e b di tipo intero, poi ho eseguito una doppia assegnazione
Adesso a=10 e b=10
char nome="Sara";
Ho assegnato alla variabile di tipo char il valore "Sara"

Scope e life-time

Lo scope di una variabile è il suo grado di visibilità da parte del compilatore.
Se una variabile è dichiarata all'interno di una funzione, sarà visibile al suo interno ma invisibile al di fuori della funzione, cioè non potrà essere utilizzata da nessuna altra parte del programma.
è possibile dichiarare delle variabili all'esterno di ogni funzione, le variabili globali:

#include...
int a=10;
void main()
{
int x;
............
x = ::a;
}

'a' è una variabile globale di tipo intero, nella main assegno 'a' alla variabile locale 'x' tramite il risolutore di scope ( :: )
Ogni variabile oltre ad avere uno scope ha anche un life-time.
Quando inizializzo una variabile, viene allocata una parte di memoria con il nome della variabile.
Quando la questa perde la sua visibilità quello parte di memoria allocata viene deallocata e il suo contenuto perso; quindi, quando richiamerò la funzione, la variabile verrà reinizializzata da zero ed il suo valore precedente non esisterà più. Per evitare ciò, nel caso sia utile che la variabile conservi il suo valore da una chiamata all'altra, uso la parola STATIC:
Es. static int a = 10;
static char = "Paola";






Coding center

C language

Back to home