Types de données en C
Chaque variable en C a un type de données associé. Chaque type de données nécessite différentes quantités de mémoire et a quelques opérations spécifiques qui peuvent être effectuées sur elle.
Types de base
- char: Le type de données le plus fondamental en C. Il stocke un seul caractère et nécessite un seul octet de mémoire dans presque tous les compilateurs.
- int: une variable int est utilisée pour stocker un entier.
- float: Il est utilisé pour stocker des nombres décimaux (nombres avec une valeur à virgule flottante) avec une simple précision.
- double: Il est utilisé pour stocker des nombres décimaux (nombres avec une valeur à virgule flottante) avec une double précision.
Différents types de données ont également différentes plages dans lesquelles ils peuvent stocker des nombres. Ces plages peuvent varier d'un compilateur à l'autre. Vous trouverez ci-dessous une liste de plages ainsi que les exigences en matière de mémoire et de format sur un compilateur gcc 32 bits.
Type de données | Taille (octets) | plage de valeurs | Spécificateur de Format |
---|---|---|---|
short int | 2 | -32,768 to 32,767 | %hd |
unsigned short int | 2 | 0 to 65,535 | %hu |
unsigned int | 4 | 0 to 4,294,967,295 | %u |
int | 4 | -2,147,483,648 to 2,147,483,647 | %d |
long int | 4 | -2,147,483,648 to 2,147,483,647 | %ld |
unsigned long int | 4 | 0 to 4,294,967,295 | %lu |
long long int | 8 | -(2^63) to (2^63)-1 | %lld |
unsigned long long int | 8 | 0 to 18,446,744,073,709,551,615 | %llu |
signed char | 1 | -128 to 127 | %c |
unsigned char | 1 | 0 to 255 | %c |
float | 4 | %f | |
double | 8 | %lf | |
long double | 12 | %Lf |
void
void est un type incomplet. Cela signifie "rien" ou "pas de type". Vous pouvez penser à void comme absent.
Par exemple, si une fonction ne renvoie rien, son type de retour doit être nul.
Notez que vous ne pouvez pas créer de variables de type void.
Nous pouvons utiliser l'opérateur sizeof() pour vérifier la taille d'une variable.
Exemple 1 :
#include <stdio.h> int main(void) { int a=2; // printf("la taille de a est %lu octets",sizeof(int)); printf("la taille de a est %lu octets",sizeof(a)); return; }