Tipi di dati C ++
Durante la scrittura di programmi in qualsiasi lingua, è necessario utilizzare varie variabili per memorizzare varie informazioni. Le variabili non sono altro che posizioni di memoria riservate per memorizzare i valori. Ciò significa che quando crei una variabile riservi dello spazio in memoria.
Potresti voler memorizzare informazioni di vari tipi di dati come carattere, carattere largo, intero, virgola mobile, doppia virgola mobile, booleano ecc. In base al tipo di dati di una variabile, il sistema operativo alloca la memoria e decide cosa può essere memorizzato nel memoria riservata.
Tipi incorporati primitivi
C ++ offre al programmatore un ricco assortimento di tipi di dati incorporati e definiti dall'utente. La tabella seguente elenca sette tipi di dati C ++ di base:
genere | Parola chiave |
---|---|
Booleano | bool |
Carattere | char |
Numero intero | int |
Virgola mobile | galleggiante |
Doppia virgola mobile | Doppio |
Senza valore | vuoto |
Carattere ampio | wchar_t |
Molti dei tipi di base possono essere modificati utilizzando uno o più di questi modificatori di tipo:
- signed
- unsigned
- short
- long
La tabella seguente mostra il tipo di variabile, la quantità di memoria necessaria per memorizzare il valore in memoria e qual è il valore massimo e minimo che può essere memorizzato in tale tipo di variabili.
genere | Larghezza bit tipica | Gamma tipica |
---|---|---|
char | 1 byte | Da -127 a 127 o da 0 a 255 |
carattere non firmato | 1 byte | Da 0 a 255 |
firmato char | 1 byte | Da -127 a 127 |
int | 4 byte | -2147483648 a 2147483647 |
unsigned int | 4 byte | 0 a 4294967295 |
firmato int | 4 byte | -2147483648 a 2147483647 |
short int | 2 byte | Da -32768 a 32767 |
int breve senza segno | 2 byte | Da 0 a 65.535 |
firmato breve int | 2 byte | Da -32768 a 32767 |
lungo int | 8 byte | -2.147.483.648 a 2.147.483.647 |
firmato lungo int | 8 byte | uguale a long int |
unsigned long int | 8 byte | Da 0 a 4.294.967.295 |
lungo lungo int | 8 byte | - da (2 ^ 63) a (2 ^ 63) -1 |
unsigned long long int | 8 byte | Da 0 a 18.446.744.073.709.551.615 |
galleggiante | 4 byte | |
Doppio | 8 byte | |
doppio lungo | 12 byte | |
wchar_t | 2 o 4 byte | 1 carattere largo |
La dimensione delle variabili potrebbe essere diversa da quelle mostrate nella tabella sopra, a seconda del compilatore e del computer che stai utilizzando.
Di seguito è riportato l'esempio, che produrrà la dimensione corretta di vari tipi di dati sul tuo computer.
#include <iostream>
using namespace std;
int main() {
cout << "Size of char : " << sizeof(char) << endl;
cout << "Size of int : " << sizeof(int) << endl;
cout << "Size of short int : " << sizeof(short int) << endl;
cout << "Size of long int : " << sizeof(long int) << endl;
cout << "Size of float : " << sizeof(float) << endl;
cout << "Size of double : " << sizeof(double) << endl;
cout << "Size of wchar_t : " << sizeof(wchar_t) << endl;
return 0;
}
Questo esempio usa endl, che inserisce un carattere di nuova riga dopo ogni riga e l'operatore << viene utilizzato per passare più valori allo schermo. Stiamo anche usandosizeof() operatore per ottenere la dimensione di vari tipi di dati.
Quando il codice sopra viene compilato ed eseguito, produce il seguente risultato che può variare da macchina a macchina:
Size of char : 1
Size of int : 4
Size of short int : 2
Size of long int : 4
Size of float : 4
Size of double : 8
Size of wchar_t : 4
dichiarazioni typedef
È possibile creare un nuovo nome per un tipo esistente utilizzando typedef. Di seguito è la semplice sintassi per definire un nuovo tipo utilizzando typedef -
typedef type newname;
Ad esempio, quanto segue dice al compilatore che feet è un altro nome per int -
typedef int feet;
Ora, la seguente dichiarazione è perfettamente legale e crea una variabile intera chiamata distanza -
feet distance;
Tipi enumerati
Un tipo enumerato dichiara un nome di tipo facoltativo e un insieme di zero o più identificatori che possono essere usati come valori del tipo. Ogni enumeratore è una costante il cui tipo è l'enumerazione.
La creazione di un'enumerazione richiede l'uso della parola chiave enum. La forma generale di un tipo di enumerazione è:
enum enum-name { list of names } var-list;
Qui, enum-name è il nome del tipo di enumerazione. L'elenco dei nomi è separato da virgole.
Ad esempio, il codice seguente definisce un'enumerazione di colori denominata colors e la variabile c di tipo color. Infine, a c viene assegnato il valore "blu".
enum color { red, green, blue } c;
c = blue;
Per impostazione predefinita, il valore del primo nome è 0, il secondo ha valore 1 e il terzo ha valore 2 e così via. Ma puoi dare un nome, un valore specifico aggiungendo un inizializzatore. Ad esempio, nella seguente enumerazione,green avrà il valore 5.
enum color { red, green = 5, blue };
Qui, blue avrà valore 6 perché ogni nome sarà uno maggiore di quello che lo precede.