Il existe 4 classe d'allocation pour les variables :
Classe
Mot clé
Usage
externe
extern
Il s'agit d'une variable
définie au niveau fichier et accessible à partir des autres
fichiers
automatique
auto
Il s'agit d'une variable
définie dans une fonction,
dont la durée de vie
est celle d'un appel de la fonction et
qui est allouée dans la pile du programme.
Deux cas :
- Pour une variable
définie dans une fonction,
c'est une variable
rémanente dont la durée de vie est celle de
l'application (pas allouée dans la pile)
- Pour une variable
définie au niveau fichier, la visibilité de cette
variable
confidentielle est le fichier (par opposition à
une variable
externe)
registre
register
C'est une vraible
définie dans une fonction ou
un bloc allouée
si possible dans un registre machine et sinon dans la pile.
L'indication de classe d'allocation se place avant le
spécificateur de type : extern