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.

 

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *