Nella programmazione C, i tipi di dati sono dichiarazioni per le variabili. Questo determina il tipo e la dimensione dei dati associati alle variabili. Per esempio,
int myVar;
Qui, myVar è una variabile di tipo int
(intero). La dimensione di int
è di 4 byte.
Tipi di base
Ecco una tabella contenente i tipi comunemente usati nella programmazione C per un accesso rapido.
Type | Size (bytes) | Format Specifier |
---|---|---|
int |
almeno 2, solitamente 4 | %d , %i |
char |
1 | %c |
float |
4 | %f |
double |
8 | %lf |
short int |
2 di solito | %hd |
unsigned int |
almeno 2, di solito 4 | %u |
long int |
almeno 4, di solito 8 | %ld , %li |
long long int |
almeno 8 | %lld , %lli |
unsigned long int |
almeno 4 | %lu |
unsigned long long int |
almeno 8 | %llu |
signed char |
1 | %c |
unsigned char |
1 | %c |
long double |
almeno 10, di solito 12 o 16 | %Lf |
int
Gli interi sono numeri interi che possono avere valori nulli, positivi e negativi ma nessun valore decimale. Per esempio, 0
, -5
, 10
Possiamo usare int
per dichiarare una variabile intera.
int id;
Qui, id è una variabile di tipo intero.
Si possono dichiarare più variabili contemporaneamente nella programmazione C. Per esempio,
int id, age;
La dimensione di int
è di solito 4 byte (32 bit). E può prendere 232
stati distinti da -2147483648
a 2147483647
.
float e double
float
e double
sono usati per contenere numeri reali.
float salary;double price;
In C, i numeri in virgola mobile possono anche essere rappresentati in esponenziale. Per esempio,
float normalizationFactor = 22.442e2;
Qual è la differenza tra float
e double
?
La dimensione di float
(tipo di dati float a precisione singola) è 4 byte. E la dimensione di double
(tipo di dati float a doppia precisione) è di 8 byte.
char
La parola chiave char
è usata per dichiarare variabili di tipo carattere. Per esempio,
char test = 'h';
La dimensione della variabile carattere è 1 byte.
void
void
è un tipo incompleto. Significa “niente” o “nessun tipo”. Puoi pensare a void come assente.
Per esempio, se una funzione non restituisce nulla, il suo tipo di ritorno dovrebbe essere void
.
Nota che, non puoi creare variabili di tipo void
.
short e long
Se hai bisogno di usare un numero grande, puoi usare uno specificatore di tipo long
. Ecco come:
long a;long long b;long double c;
Qui le variabili a e b possono memorizzare valori interi. E c può memorizzare un numero in virgola mobile.
Se sei sicuro che verrà usato solo un piccolo intero (intervallo ), puoi usare
short
.
short d;
Puoi sempre controllare la dimensione di una variabile usando l’operatore sizeof()
.
#include <stdio.h> int main() { short a; long b; long long c; long double d; printf("size of short = %d bytes\n", sizeof(a)); printf("size of long = %d bytes\n", sizeof(b)); printf("size of long long = %d bytes\n", sizeof(c)); printf("size of long double= %d bytes\n", sizeof(d)); return 0;}
signed e unsigned
In C, signed
e unsigned
sono modificatori di tipo. Si può alterare la memorizzazione dei dati di un tipo di dati usandoli. Per esempio,
unsigned int x;int y;
Qui, la variabile x può contenere solo valori zero e positivi perché abbiamo usato il modificatore unsigned
.
Considerando che la dimensione di int
è 4 byte, la variabile y può contenere valori da -231
a 231-1
, mentre la variabile x può contenere valori da 0
a 232-1
.
Altri tipi di dati definiti nella programmazione C sono:
- tipo bool
- tipo enumerato
- tipi complessi
tipi di dati derivati
I tipi di dati che sono derivati dai tipi di dati fondamentali sono tipi derivati. Per esempio: array, puntatori, tipi di funzione, strutture, ecc.
Impareremo a conoscere questi tipi di dati derivati nelle esercitazioni successive.