Programmation en C – Les types de données
Les types de données en C sont utilisé pour déclarer des variables ou des fonctions de différents types. Le type d’une variable détermine l’espace mémoire qu’il occupe.
Les variables ou l’emplacement mémoire doivent être déclarés avant de pouvoir être utilisés. De même, une fonction doit être déclarée avant d’être utiliser.
Les types de données se réfèrent simplement au type et à la taille des données associées aux variables et aux fonctions.
Les types en C peuvent être classés comme suit :
Types et description |
---|
Types de base Ils sont des types arithmétiques et sont ensuite classés en: types entiers et types à virgule flottante. |
Types énumérés Ils sont à nouveau des types arithmétiques et ils sont utilisés pour définir des variables qui ne peuvent affecter que certaines valeurs entières discrètes tout au long du programme exemple : enum suit { club = 0, diamonds = 10, piques= 3}; |
Type void Le type void indique qu’aucune valeur n’est disponible. |
Types dérivés Ils comprennent des pointeurs, de structure, d’union et de fonction. |
Le tableau suivant fournit les détails des types standard avec leurs tailles de stockage et leurs plages de valeurs
Type | Storage size | Value range |
---|---|---|
char | 1 byte | -128 to 127 or 0 to 255 |
unsigned char | 1 byte | 0 to 255 |
signed char | 1 byte | -128 to 127 |
int | 2 or 4 bytes | -32,768 to 32,767 or -2,147,483,648 to 2,147,483,647 |
unsigned int | 2 or 4 bytes | 0 to 65,535 or 0 to 4,294,967,295 |
short | 2 bytes | -32,768 to 32,767 |
unsigned short | 2 bytes | 0 to 65,535 |
long | 4 bytes | -2,147,483,648 to 2,147,483,647 |
unsigned long | 4 bytes | 0 to 4,294,967,295 |
Pour obtenir la taille exacte d’un type ou d’une variable, vous pouvez utiliser l’opérateur sizeof. L’expression sizeof (type) donnent la taille de stockage du type en octet. Exemple pour afficher la taille de int.
#include <stdio.h> #include <limits.h> int main() { printf("La taille de type int est %d \n", sizeof(int)); return 0; }
Lorsque vous compilez et exécutez le programme ci-dessus, il produit le résultat suivant:
La taille de type int est 4
int – Types des entiers
Les nombres entiers sont des nombres entiers qui peuvent avoir des valeurs positives et négatives mais pas de valeurs décimales. Exemple: 0, -5, 10
Dans la programmation C, le mot clé int est utilisé pour déclarer une variable entière. Par exemple:
int id;
Ici, id est une variable de type int.
Vous pouvez déclarer plusieurs variables à la fois en programmation C. Par exemple:
int id, age;
char – Types de caractères
Le type char est utilisé pour stocker des caractère. Par exemple:
char test = 'h'
Ici, « test » est une variable de type char. La valeur de la variable « test » est ‘h’.
La taille d’une variable de type char est 1 octet.
float – Types des flottants
Les variables de type float peuvent contenir des nombres réels tels que : 2.34, -9.382, 5.0 etc. Vous pouvez déclarer une variable à virgule flottante en C en utilisant le mot-clé float ou double. Par exemple:
float solde_du_compte; double prix;
Ici, « solde_du_compte » et « prix » sont des variables de type flottant.
En C, les valeurs flottantes peuvent également être représentées sous forme exponentielle. Par exemple:
float facteur = 22.442e2;
Différence entre float et double
La taille d’un flot est 4 octets. Et la taille du double est 8 octets. Les variables à virgule flottante ont une précision de 6 chiffres alors que la précision du double est de 14 chiffres.
Le tableau suivant fournit les détails des types à virgule flottante standard avec des tailles de stockage et des plages de valeurs et leur précision
Type | Taille de stockage | Plage de valeurs | Précision |
---|---|---|---|
float | 4 byte | 1.2E-38 to 3.4E+38 | 6 decimal places |
double | 8 byte | 2.3E-308 to 1.7E+308 | 15 decimal places |
long double | 10 byte | 3.4E-4932 to 1.1E+4932 | 19 decimal places |
Le fichier d’en-tête float.h définit des macros qui vous permettent d’utiliser ces valeurs et d’autres détails sur la représentation binaire de nombres réels dans vos programmes. L’exemple suivant illustre l’espace de stockage pris par un type de float et la plage des valeurs.
#include <stdio.h> #include <float.h> int main() { printf("Taille de stockage pour float : %d \n", sizeof(float)); printf("Valeur positive minimum du float : %E\n", FLT_MIN ); printf("Valeur positive maximum du float : %E\n", FLT_MAX ); printf("Valeur de précision : %d\n", FLT_DIG ); return 0; }
Lorsque vous compilez et exécutez le programme ci-dessus, il produit le résultat suivant sur Linux
Taille de stockage pour float : 4 Valeur positive minimum du float : 1.175494E-38 Valeur positive maximum du float : 3.402823E+38 Valeur de précision : 6
Type void
Le type void indique qu’aucune valeur n’est affecter à une variable donnée. Il est utilisé dans trois situations
Types et description |
---|
Fonction qui ne retourne rien Une fonction sans valeur de retour a un type de retour void. Par exemple, void exit(int status); |
Arguments de fonction void Il existe différentes fonctions en C qui n’acceptent aucun paramètre. Une fonction sans paramètre peut accepter un void. Par exemple, int rand (void); |
Pointeurs void Un pointeur de type void * représente l’adresse d’un objet, mais pas son type. Par exemple, une fonction d’allocation de mémoire void * malloc (size_t size); Renvoie un pointeur sur un void qui peut être converti en n’importe quel type de données. |