3. Types de variable
Entiers
Trois types de base servent à représenter les entiers:
Nom | Taille | Nombre de valeurs | Chaîne de format |
short int long |
1 octet 2 octets 4 octets |
28 valeurs 216 valeurs 232 valeurs |
%hd %d %ld |
Entiers non signés
Par défaut, les entiers permettent de stocker des valeurs de signe quelconque. Si on préfixe un type entier par unsigned, on le restreint à des valeurs uniquement positives. Dans ce cas on a:
Nom | Taille | Valeur min | Valeur max | Chaîne de format |
unsigned short unsigned int unsigned long |
1 octet 2 octets 4 octets |
0 0 0 |
28 - 1 216 - 1 232 - 1 |
%hu %u %lu |
Si par contre les données sont signés, on a comme plage de valeurs:
Nom | Taille | Valeur min | Valeur max | Chaîne de format |
unsigned short unsigned int unsigned long |
1 octet 2 octets 4 octets |
-27 -215 -231 |
27 - 1 215 - 1 231 - 1 |
%hd %d %ld |
Flottants
Les flottants servent à représenter les réels. Leur nom vient du fait qu'on les représente de façon scientifique comme étant un nombre décimal (à virgule) muni d'un exposant (un décalage de la virgule). Trois types de base servent à représenter les floattans.
Nom | Taille | Chaîne de format |
float double long double |
4 octet 8 octets 10 octets |
%f %lf %lf |
Caractères
Un char sert à représenter le code ASCII d'un caractère, il est donc codé sur 1o. Il est possible d'affecter à une telle variable toute valeur du code ASCII entourée pas de simples quotes " ". Par exemple, l'affectation suivante place dans la variable a (de type char) le code ASCII du caractère 'B'.
char a ;
a='B';
Pour afficher le caractère qui correspond au code ASCII stocké dans un char, on utilise la chaîne de format %c, et pour afficher le code ASCII lui-même on utilise la chaîne de format %d.
Constantes
Une constante est une valeur portant un nom, contrairement aux variables, elles ne sont ps modifiables.
Les constantes en C sont non typées, on les définit dans l'entête de la source, juste en dessous des #include.
La syntaxe est:
#define NOM_CONST valeur_const