Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
« Classe de stockage » d'une variable détermine si l'élément a une durée de vie « globale » ou « locale ».C appelle ces deux durées de vie « static » et « auto ». Un élément avec une durée de vie globale existe et a la valeur dans toute l'exécution du programme.toutes les fonctions ont des durées de vie globales.
Les variables automatiques, ou les variables avec des durées de vie locales, sont nouveau stockage alloué chaque fois que le contrôle d'exécution passe au bloc dans lequel ils sont définis.Lorsque l'exécution retourne, les variables n'ont plus les valeurs précises.
C fournit les spécificateurs suivants de classe de stockage :
Syntaxe
stockage-classe-spécificateur:
autoregistre
static
extern
typedef
détails de**__declspec** /* ( étendre-déclassement-modificateur-seq ) Microsoft *
À l'exception __declspec, vous ne pouvez utiliser qu'un stockage-classe-spécificateur dans le déclaration-spécificateur dans une déclaration.Si aucune exigence de classe de stockage n'est effectuée, les déclarations dans un bloc créent des objets automatiques.
les éléments déclarés avec le spécificateur d' auto ou de registre ont des durées de vie locales.les éléments déclarés avec le spécificateur de statique ou d' extern ont des durées de vie globales.
Depuis typedef et __declspec sont sémantiquement différents d'autres terminaux de quatre stockage-classe-spécificateurs , ils sont traités séparément.Pour des informations spécifiques sur typedef, consultez déclarations de typedef.Pour des informations spécifiques sur __declspec, consultez l' attributs étendus de classe de stockage.
Le positionnement des variables et les déclarations de fonction dans des fichiers sources affecte également la classe de stockage et la visibilité.On dit que les déclarations à l'extérieur de toutes les définitions de fonction s'affichent « au niveau externe. » Les déclarations dans des définitions de fonction s'affichent « au niveau interne. »
La signification exacte de chaque spécificateur de classe de stockage dépend de deux facteurs :
Si la déclaration apparaît au niveau externe et interne
Si l'élément qui est déclaré est une variable ou une fonction
Spécificateur de classe de stockage pour les déclarations d'Externe-Niveau et Spécificateur de classe de stockage pour les déclarations d'Interne-Niveau décrivent les feuilles de stockage-classe-spécificateur dans chaque genre de déclaration et décrivent le comportement par défaut lorsque le stockage-classe-spécificateur est omis d'une variable.Spécificateur de classe de stockage avec les déclarations de fonction décrit les spécificateurs de classe de stockage utilisés avec les fonctions.