« Programmation C/Classe de stockage » : différence entre les versions
Contenu supprimé Contenu ajouté
Ligne 6 :
* <code>const</code> : pour définir une variable dont la valeur ne devrait jamais changer.
* <code>volatile</code> : le contraire de <code>const</code> : une variable pouvant être modifiée notamment par une source externe indépendante du programme.
* <code>auto</code> :
* <code>register</code> : demande au compilateur de faire tout son possible pour utiliser un registre processeur pour cette variable.
* <code>static</code> : rend une définition de variable persistante.
* <code>extern</code> :
===Classe 'const'===
La classe <code>const</code> ne
<pre>
Ligne 60 :
Indique que la variable devrait être stockée dans un registre du processeur. Les registres du processeur sont forcément limités, aussi bien en nombre qu'en taille. Inutile de déclarer une structure entière ou un tableau avec le mot clé <code>register</code>.
Qui plus est, les variables registres sont forcément locales à des fonctions. On ne peut pas
Ce mot-clé est déconseillé sauf pour des cas particuliers, les compilateurs modernes sachant généralement mieux que le programmeur comment optimiser et quelles variables placer dans les registres.
<pre>
register short i,j;
for (i=1;i<1000;++i)
Ligne 82 :
===Classe 'extern'===
<code>extern</code> permet de
À noter que le 'extern' est implicite lorsqu'on déclare ou donne le prototype d'une fonction, pas la peine de le rajouter.
|