next up previous
Next: Les opérateurs de calcul Up: Initiation au langage C Previous: Commentaires, noms et constantes

Sous-sections

  
Les variables

définition d'une variable

    Une  variable permet de stocker une valeur. Le type de valeurs stockées dépend du  type de la variable. L'opérateur =   permet d'affecter une valeur à une variable. Toutes les variables doivent être définies (ou au moins déclarées) avant d'être utilisées.

    On peut initialiser une variable lors de sa définition en lui affectant directement une valeur. Pour un même type, on peut réunir plusieurs définitions de variables sur une même instruction.

Dans l'exemple suivant, on définit tout d'abord deux variables VarPrem et Houla de type int. Houla est initialisée lors de sa déclaration. On définit une troisième variable de type double et enfin on lui affecte le résultat de l'addition de Houla et de 25.

int VarPrem, Houla = 18;
double TroisiemeVariable;
    
TroisiemeVariable = Houla + 25;

les types de base

Nous décrivons ici les types de base les plus usités. Nous ne rentrerons pas dans le détail de l'utilisation des mots-clé comme static, auto, const ou register.

caractère

Les  caractères peuvent être de deux types:  char ou  unsigned char.

Ce type de variables occupe en général un octet en mémoire et stocke un caractère. La valeur stockée est le code du caractère dans le codage de la machine utilisée (en général le code ASCII).

Ces valeurs vont de -128 à 127 dans le cas des char et de 0 à 255 dans le cas des unsigned char.

/* une première variable de type char, suivie d'une seconde
    initialisée avec le caractère de code ASCII 255, enfin
    une dernière initialisée par le caractère de fin de ligne */
char PremierChar;
unsigned char SecondChar = '\xFF';
char DernierChar = '\n';

entier

      Les types de base permettant de stocker des entiers sont short, int et long. Chacun de ces types peut être spécifié comme étant sans signe en le précédant du mot-clé unsigned : unsigned int, unsigned long...    .  .

Le tableau 3.1 spécifie les caractéristiques de ces types (leur occupation en mémoire ou taille et leurs valeurs limites sont données à titre indicatif et correspondent aux stations SUN).


 
 
Tableau 3.1: Caractéristiques des types entiers
Type Taille Minimum Maximum
short 16 bits $-32\,768$ $32\,767$
    (= -215) ( = 215 - 1)
unsigned short 16 bits 0 $65\,535$
      ( = 216 - 1)
int 32 bits $-2\,147\,483\,648$ $2\,147\,483\,647$
    (= -231) ( = 231 - 1)
unsigned int 32 bits 0 $ 4\,294\,967\,295$
      ( = 232 - 1)
long 32 bits $-2\,147\,483\,648$ $2\,147\,483\,647$
unsigned long 32 bits 0 $ 4\,294\,967\,295$

On s'aperçoit que, sur SUN, les long et les int sont identiques. Ceci arrive souvent selon l'architecture informatique de la machine. La seule règle imposée par la norme ANSI est la suivante : un long est de taille supérieure ou égale à celle d'un int qui est lui-même de taille supérieure ou égale à celle d'un short.

short a = 12, b = 19;
unsigned long d = 3123456789ul;

réel

     Les deux types permettant de manipuler des valeurs «réelles» (au sens mathématique) sont float et double. La précision (en nombre de décimales stockées) d'un double est à priori le double de celle d'un float. Le tableau 3.2 donne les caractéristiques de ces deux types sur une station SUN.


 
 
Tableau 3.2: Caractéristiques des types réels
Type Taille Minimum > 0 Maximum
float 32 bits $\simeq 1.175495 \times 10^{-38}$ $\simeq 3.402823 \times 10^{38}$
double 64 bits $\simeq 2.225074 \times 10^{-308}$ $\simeq 1.797693 \times 10^{308}$


next up previous
Next: Les opérateurs de calcul Up: Initiation au langage C Previous: Commentaires, noms et constantes

Copyright © EMAC - 1997 - Paul GABORIT