Benvenuti in questo terzo appuntamento con il C++! In questa pagina affronteremo un discorso molto importate: il concetto di tipo. Si dice che il C/C++ siano linguaggi fortemente tipizzati, questo in quanto, tale concetto, assume un’importanza estrema in qualsiasi istruzione che compone un qualsiasi programma scritto in C/C++.
Il tipo è per definizione l’insieme di tutti i valori che una data variabile di quel tipo può assumere. Diremo che la variabile è un’istanza del tipo.
Vediamo un primo esempio:
int a;
Con questa semplice istruzione non facciamo altro che allocare, ovvero dedicare dello spazio in memoria, (quanto lo vedremo dopo) ad una variabile di nome a di tipo int.
Distinzione molto importante è quella tra Tipo Atomico e Tipo Strutturato.
Tipo Atomico
Un tipo si definisce Atomico se è messo a disposizione del programmatore, già dal linguaggio stesso ed inoltre se non può essere decomposto in altri tipi più semplici.
Esempio di Tipo Atomico è proprio l’ int menzionato poco fa nell’esempio precedente.
L’int, pur variando nell’intervallo di rappresentazione a seconda del tipo di IDE usato, va ad allocare un determinato numero intero di bit per contenere un numero in un range specifico, ovvero tra un valore minimo e un valore massimo. Generalmente l’intervallo di rappresentazione va da -32.767 a 32.767.
Tipo Strutturato
Un tipo strutturato è invece un tipo che viene espressamente dichiarato da un programmatore, che può plasmarlo per le sue esigenze come meglio crede.
La sintassi per definire un tipo ed assegnargli un nome è la seguente:
typedef [NOME TIPO ATOMICO] [NOME TIPO STRUTTURATO];
Un esempio, per la costruzione di una stringa di 256 caratteri è il seguente;
typedef char stringa[256];
Dopo questa istruzione, il tipo stringa sarà assunto come un tipo definito e potremo quindi istanziare delle stringhe per contenere caratteri.
esempio:
stringa nome; //allocazione di una stringa per contenere una qualsiasi frase di massimo 256 caratteri.
Concludo questo piccolo articolo sui tipi di dati ricordando i principali Tipi Atomici disponibili:
| char | Carattere | 8bit |
| int | Num Intero | 16bit |
| short | Num Intero | 16bit |
| long | Num Intero | 32bit |
| float | Num Reale | 32bit |
| double | Num Reale | 64bit |
Come potete vedere dalla tabella qui sopra, int e short sono equivalenti per il Dev-C++, tuttavia, non essendo sempre valida ques’eguaglianza, se non si ha la necessità di contenere numeri oltre il 32.767 è consigliabile usare il tipo short.
Per ora è tutto, con il prossimo articolo vedremo come creare una semplice calcolatrice in C++.
Alla prossima









3 Responses to “C#003 – Tipi di dato (atomico e strutturato)”
23 Marzo 2010
C#004 – Creiamo una semplice calcolatrice in C++ (funzioni) | devAPP[…] volete rinfrescarvi la memoria sui tipi di dato, date un’occhiata al nostro precedente articolo) cout << "Inserisci il primo addendo: "; cin >> x; //Prendiamo in input il […]
26 Settembre 2010
paradix86Ciao!
Volevo aggiungere e spiegare la differenza fra FLOAT/DOUBLE:
float occupa 4byte
double 8byte
Oggi come oggi con i calcolatori potenti che abbiamo, tutti usano solamente double, in quanto più preciso, ovvero fornisce non so quanti numeri in più dopo la virgola rispetto a float. Di conseguenza, Double è si più preciso, ma occupa anche più spazio.
Sperando di aver fatto cosa gradita, saluto.
16 Gennaio 2011
PaoloPerché però vi siete fermati?:( era utilissima:(