Speicherklassenspezifizierer mit Funktionsdeklarationen

Sie können entweder static oder den extern Speicherklassenspezifizierer in Funktionsdeklarationen verwenden.Funktionen verfügen immer über globale Lebensdauer.

Microsoft-spezifisch

Funktionsdeklarationen in der internen Ebene haben dieselbe Bedeutung wie bei Funktionsdeklarationen externer Ebene.Dies bedeutet, dass eine Funktion mit dem Zeitpunkt der Deklaration während der Rest der Übersetzungseinheit sichtbar ist, selbst wenn sie am lokalen Gültigkeitsbereich deklariert wird.

Microsoft ENDES bestimmten

Die Regeln für Funktionen variieren Sichtbarkeits einige Regeln für Variablen wie folgt:

  • Eine Funktion, die deklariert wird, um static zu kommunizieren, ist nur innerhalb der Quelldatei angezeigt, in der sie definiert ist.Funktionen in derselben Quelldatei können die statische Funktion aufrufen, aber Funktionen in anderen Quelldateien können sie nicht direkt anhand ihres Namens zugreifen.Sie können eine andere statische Funktion mit demselben Namen in eine andere Quelldatei ohne Konflikt deklarieren.

  • Die Funktionen, die als extern deklariert werden, sind in allen Quelldateien im Programm sichtbar (es sei denn, Sie später eine solche Funktion wie staticerneut deklarieren).Jede Funktion kann eine extern-Funktion aufrufen.

  • Speicherklassenspezifizierer, die den Funktionsdeklarationen ausschließen, sind extern standardmäßig.

Microsoft-spezifisch

Microsoft lässt Neudefinition eines Bezeichners extern als static.

Microsoft ENDES bestimmten

Siehe auch

Referenz

C-Speicherklassen