Classi di archiviazione c

“La classe di archiviazione„ della variabile determina se l'elemento dispone di una durata globale„ o “locale.C# chiama queste due durata “static„ e “automatico„. Un elemento con una durata complessiva esiste e ha un valore durante l'esecuzione del programma.Tutte le funzioni hanno durata globali.

Le variabili automatiche, o le variabili con durate locali, sono una nuova archiviazione allocata ogni volta che il controllo di esecuzione passa al blocco in cui vengono definite.Al termine di esecuzione, le variabili non hanno più valori significativi.

C# sono disponibili i seguenti identificatori di classe di archiviazione:

Sintassi

  • archiviazione-classe-identificatore:
    autoidentificatori

    il registro

    static

    extern

    typedef

    __declspec ( esteso-decl-modificatore-seguente )/* */Microsoft specifico

Eccetto __declspec, è possibile utilizzare solo uno archiviazione-classe-identificatore in dichiarazione-identificatore in una dichiarazione.Se non specifica della classe di archiviazione viene effettuata, le dichiarazioni all'interno di un blocco creano oggetti automatici.

elementi dichiarati con autoidentificatori o il registro l'identificatore è durata locali.elementi dichiarati con statico o extern l'identificatore è durata globali.

da allora typedef e __declspec la semantica differente dagli altri quattro archiviazione-classe-identificatore terminali, vengono descritti separatamente.per informazioni specifiche su typedef, vedere Dichiarazioni typedef.per informazioni specifiche su __declspec, vedere Attributi estesi di classe di archiviazione.

La posizione della variabile e le dichiarazioni di funzione nei file di origine influisce anche sulla classe di archiviazione e la visibilità.Le dichiarazioni all'esterno di qualsiasi definizione di funzione sono menzionate venga visualizzato “a livello esterno„. Le dichiarazioni all'interno delle definizioni di funzione vengono visualizzati “a livello interno„.

Il significato esatto di ogni identificatore classe di archiviazione dipende da due fattori:

  • Se la dichiarazione viene visualizzata esterne o a livello interno

  • Se l'elemento che viene dichiarato una variabile o una funzione

Identificatori di classe di archiviazione per le dichiarazioni a livello esterno e Identificatori di classe di archiviazione per le dichiarazioni a livello interno descrivere archiviazione-classe-identificatore i terminal in ogni tipo di dichiarazione e viene illustrato il comportamento predefinito quando archiviazione-classe-identificatore viene omesso da una variabile.Identificatori di classe di archiviazione alle dichiarazioni di funzione vengono descritti gli identificatori di classe di archiviazione utilizzati con le funzioni.

Vedere anche

Concetti

Dichiarazioni e tipi