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.