Classes de stockage C

« 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:
    auto

    registre

    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.

Voir aussi

Concepts

Déclarations et types