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

Entiers signés

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

Par exemple #define N 5 définit une constant N qui a la valeur 5. Au début de la compilations, un programme appelé préprocesseur effectue un "rechercher/remplacer" et substitue à toutes les occurenses de la constantes N la valeur 65.