Condividi tramite


Classe di archiviazione

L'identificatore di classe di archiviazione in una definizione di funzione sono alla funzione o extern o statico classe di archiviazione.

Sintassi

  • definizione di funzione:
    dichiarazione-identificatori scegliereattributo-seguente sceglieredichiarazione-elenco del dichiaratore sceglierecomposto-rendiconto

    /* attributo-seguente è Microsoft specifico */

  • dichiarazione-identificatori:
    dichiarazione-identificatori dell'archiviazione-classe-identificatore scegliere

    dichiarazione-identificatori dell'tipo-identificatore scegliere

    dichiarazione-identificatori di tipo-qualificatore scegliere

  • archiviazione-classe-identificatore: /* Per le definizioni di funzione */
    extern

    static

Se una definizione non include un oggetto archiviazione-classe-identificatore, le impostazioni predefinite della classe di archiviazione a extern.È possibile dichiarare in modo esplicito una funzione come extern, ma non è obbligatoria.

se la dichiarazione di una funzione contiene archiviazione-classe-identificatore extern, l'identificatore ha lo stesso collegamento di qualsiasi dichiarazione dell'identificatore visibile con ambito file.Se non c " è dichiarazione visibile con ambito file, l'identificatore di collegamento esterno.Se un identificatore è l'ambito file e no archiviazione-classe-identificatore, l'identificatore di collegamento esterno.Il collegamento esterno indica che ogni istanza dell'identificatore indica lo stesso oggetto o una funzione.vedere Durata, ambito, visibilità e collegamento per ulteriori informazioni sul collegamento e su file.

Dichiarazioni di funzione in ambito blocco con un identificatore classe di archiviazione diversa da extern generare errori.

una funzione con statico la classe di archiviazione è visibile solo nel file di origine in cui è definita.Tutte le altre funzioni, se viene fornito extern la classe di archiviazione in modo esplicito o implicito, è visibile in tutti i file di origine nel programma.se statico la classe di archiviazione si desidera, è necessario dichiarare la prima occorrenza di una dichiarazione (se presenti) della funzione e nella definizione di funzione.

Specifici di Microsoft

Quando le estensioni Microsoft sono abilitate, una funzione ha dichiarato senza una classe di archiviazione (o con extern la classe di archiviazione) viene fornita statico classe di archiviazione se la definizione di funzione si trova nello stesso file di origine e se la definizione specifica in modo esplicito statico classe di archiviazione.

Durante la compilazione con l'opzione del compilatore /Ze, le funzioni dichiarate all'interno di un blocco tramite extern la parola chiave ha visibilità globale.Ciò non si verifica durante la compilazione con /Za.Questa funzionalità non deve essere basata su se la portabilità del codice sorgente rappresenta un aspetto.

Microsoft FINALE specifico

Vedere anche

Riferimenti

Definizioni di funzioni c