Che cos'è una variabile?
Gunnar Svanberg/Iconica/Getty Images
Una variabile è un nome per una posizione nella memoria del computer in cui vengono archiviati alcuni dati.
Immagina un magazzino molto grande con molti vani di stoccaggio, tavoli, scaffali, stanze speciali ecc. Questi sono tutti luoghi in cui puoi riporre qualcosa. Immaginiamo di avere una cassa di birra nel magazzino. Dove si trova esattamente?
Non diremmo che è immagazzinato 31' 2' dalla parete ovest e 27' 8' dalla parete nord. In programmazione termini, inoltre, non diremmo che il mio stipendio totale pagato quest'anno è archiviato in quattro byte a partire dalla posizione 123.476.542.732 nella RAM.
Dati in un PCIl computer collocherà le variabili in posizioni diverse ogni volta che il nostro programma viene eseguito. Tuttavia, il nostro programma sa esattamente dove si trovano i dati. Lo facciamo creando una variabile a cui fare riferimento e quindi lasciamo che il compilatore gestisca tutti i dettagli disordinati su dove si trova effettivamente. Per noi è molto più importante sapere che tipo di dati memorizzeremo nella posizione.
Nel nostro magazzino, la nostra cassa potrebbe trovarsi nella sezione 5 dello scaffale 3 nell'area bevande. Nel PC, il programma saprà esattamente dove si trovano le sue variabili.
Le variabili sono temporanee
Esistono fintanto che sono necessari e poi vengono eliminati. Un'altra analogia è che le variabili sono come i numeri in una calcolatrice. Non appena si premono i pulsanti di cancellazione o di spegnimento, i numeri visualizzati vengono persi.
Quanto è grande una variabile
Grande quanto è necessario e non di più. La più piccola che può essere una variabile è un bit e la più grande è milioni di byte. I processori attuali gestiscono i dati in blocchi di 4 o 8 byte alla volta (CPU a 32 e 64 bit), quindi più grande è la variabile, più tempo ci vorrà per leggerla o scriverla. La dimensione della variabile dipende dal suo tipo.
Che cos'è un tipo di variabile?
In moderno linguaggi di programmazione , le variabili sono dichiarate di tipo.
A parte i numeri, la CPU non fa alcun tipo di distinzione tra i dati nella sua memoria. Lo considera come una raccolta di byte. Le moderne CPU (a parte quelle dei telefoni cellulari) di solito possono gestire sia numeri interi che aritmetici in virgola mobile nell'hardware. Il compilatore deve generare diverse istruzioni di codice macchina per ogni tipo, quindi sapere quale tipo di variabile aiuta a generare codice ottimale.
Quali tipi di dati può contenere una variabile?I tipi fondamentali sono questi quattro.
- Matrici di tipi: un'unica dimensione come i cassetti di un armadio, bidimensionali come le scatole di smistamento degli uffici postali o tridimensionali come una pila di casse di birra. Ci può essere un numero qualsiasi di dimensioni, fino ai limiti del compilatore.
- Enum che sono un sottoinsieme limitato di numeri interi. Leggi su cos'è un enum è .
- Gli struct sono una variabile composita in cui diverse variabili sono raggruppate in un'unica grande variabile.
- Gli stream forniscono un modo per gestire i file. Sono una forma di a corda .
- Oggetti , sono come struct ma con una gestione dei dati molto più sofisticata.
- Globalmente. Tutte le parti del programma possono accedere e modificare il valore. Questo è il modo in cui i linguaggi più vecchi come Basic e Fortran utilizzavano per gestire i dati e non è considerato una buona cosa. Le lingue moderne tendono a scoraggiare l'archiviazione globale sebbene sia ancora possibile.
- Sul mucchio. Questo è il nome dell'area principale utilizzata. In C e C++, l'accesso a questo avviene tramite puntatore variabili.
- Sul Pila . Lo stack è un blocco di memoria utilizzato per archiviare parametri passato in funzioni e variabili che esistono locali alle funzioni.
- A meno che tu non sia stretto ariete o fatto grandi matrici , attenersi int piuttosto che a byte (8 bit) o corto int (16 bit). Soprattutto sulle CPU a 32 bit, c'è una penalità di ritardo aggiuntiva nell'accesso a meno di 32 bit.
- Uso galleggia invece di raddoppia a meno che tu non abbia bisogno della precisione.
- Evita le varianti a meno che non siano realmente necessarie. Sono più lenti.
Esiste anche un tipo di variabile generale, spesso utilizzato nei linguaggi di scripting.
Dove vengono memorizzate le variabili?
A memoria ma in modi diversi, a seconda di come vengono utilizzati.
Conclusione
Le variabili sono essenziali per la programmazione procedurale, ma è importante non rimanere troppo bloccati sull'implementazione sottostante a meno che non si stia eseguendo la programmazione di sistemi o la scrittura di applicazioni che devono essere eseguite in una piccola quantità di RAM.
Le nostre regole sulle variabili: