Identificatori di classi di archiviazione con Dichiarazioni di funzioneStorage-Class Specifiers with Function Declarations

È possibile usare l'identificatore static o della classe di archiviazione extern nelle dichiarazioni di funzione.You can use either the static or the extern storage-class specifier in function declarations. Le funzioni hanno sempre durate globali.Functions always have global lifetimes.

Sezione specifica MicrosoftMicrosoft Specific

Le dichiarazioni di funzione a livello interno hanno lo stesso significato delle dichiarazioni di funzione a livello esterno.Function declarations at the internal level have the same meaning as function declarations at the external level. Questo significa che una funzione è visibile dal momento della dichiarazione in tutto il resto dell'unità di conversione anche se viene dichiarata in ambito locale.This means that a function is visible from its point of declaration throughout the rest of the translation unit even if it is declared at local scope.

Fine sezione specifica MicrosoftEND Microsoft Specific

Le regole di visibilità per le funzioni variano leggermente dalle regole per le variabili, nel modo seguente:The visibility rules for functions vary slightly from the rules for variables, as follows:

  • Una funzione dichiarata come static è visibile solo all'interno del file di origine in cui viene definita.A function declared to be static is visible only within the source file in which it is defined. Le funzioni nello stesso file di origine possono chiamare la funzione static, ma le funzioni in altri file di origine non possono accedervi direttamente per nome.Functions in the same source file can call the static function, but functions in other source files cannot access it directly by name. È possibile dichiarare un'altra funzione static con lo stesso nome in un file di origine diverso senza creare un conflitto.You can declare another static function with the same name in a different source file without conflict.

  • Le funzioni dichiarate come extern sono visibili in tutti i file di origine del programma, a meno che non si ridichiari successivamente tale funzione come static.Functions declared as extern are visible throughout all source files in the program (unless you later redeclare such a function as static). Qualsiasi funzione può chiamare una funzione extern.Any function can call an extern function.

  • Le dichiarazioni di funzione che omettendo l'identificatore della classe di archiviazione sono per impostazione predefinita extern.Function declarations that omit the storage-class specifier are extern by default.

    Sezione specifica MicrosoftMicrosoft Specific

    Microsoft consente la ridefinizione di un identificatore extern come static.Microsoft allows redefinition of an extern identifier as static.

    Fine sezione specifica MicrosoftEND Microsoft Specific

Vedere ancheSee Also

Classi di archiviazione CC Storage Classes