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:
autoidentificatoriil 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.