GÉNIE ÉLECTRIQUE

 

Dernière mise à jour 
19 août 2006

SOMMAIRE

     VARIABLES, EQUIVALENCES ET CONSTANTES

Type  

Longueur

Domaine de valeurs

char         

8 bits

-128 à  127

unsigned char

8 bits

0 à  255

int          

16 bits

-32768 à  32767

unsigned int 

16 bits

0 à  65535

long  

32 bits

-2,147,483,648 à  2,147,483,647

unsigned long

32 bits

0 à  4,294,967,295

float        

32 bits

3.4 * (10**-38) à  3.4 * (10**+38)

double       

64 bits

1.7 * (10**-308) à  1.7 * (10**+308)

Exemple de déclaration       char a,b,c ;        /* trois caractères*/

   les données peuvent être regroupées en tableaux :

         int table[100] ;                              /*tableau de 100 entiers*/

char tableau[]={10,0x1c,’A’,55,4} ;     /* tableau de 5 caractères*/

char *chaine= “bonjour” ;         /*chaîne de 8 caractères (finie par 0)*/

 

                    le symbole * désigne un pointeur sur un type défini

char *p ;   /* p est un pointeur sur des caractères*/ 

Equivalences : déclarées après  la directive #define elles sont remplacées par leur valeur lors de la compilation

         #define pi 3.14

        #define fruit pomme !Attention il n’y a pas de ; après une directive #define

 

Constantes : elles sont rangées dans la ROM (dans la RAM en lecture seule sur un PC) et ne sont donc pas modifiables.

         const int i=16569, char c=0x4c ;       

 

Variables: elles sont rangées dans la RAM soit à une adresse fixe (statique) soit dans une pile LIFO (dynamique)

         char a,b=28,c=’A’ ;    /* trois caractères dont 2 initialisés*/

 

Variables

Accès

Visibilité

Exemple

GLOBALE

Adresse fixe

Déclarée en dehors d’une fonction, visible partout

char c ;

LOCALE

Pile

(perdue à la sortie)

Déclarée et visible dans une fonction

Void fonction(void)

{ char c ; …

STATIQUE

Adresse fixe

Déclarée et visible dans une fonction

Void fonction(void)

{ static char c ; …

EXTERNE

 

Déclarée en dehors d’une fonction et initialisée dans une bibliothèque externe

extern char c ;

 

 Genelaix - IUFM - Académie d'Aix-Marseille-août 2006