Heim  >  Artikel  >  Was sind statische Variablen in der C-Sprache?

Was sind statische Variablen in der C-Sprache?

清浅
清浅Original
2019-04-30 15:30:0033433Durchsuche

Statische Variablen in der C-Sprache beziehen sich auf Variablen, die durch das Schlüsselwort static geändert wurden. Es gibt zwei Arten von statischen Variablen: Eine sind globale statische Variablen, die auf globalen Variablen definiert sind, und die andere sind lokale statische Variablen, die auf lokalen Variablen definiert sind.

Was sind statische Variablen in der C-Sprache?

[Empfohlene Kurse: C-Sprach-Tutorial]

Statische Variablen

Statische Variablen werden über das Schlüsselwort static deklariert. Als nächstes werden wir im Artikel detailliert vorstellen, welche statischen Variablen in der C-Sprache sind und welche Eigenschaften sie haben Ich hoffe, dass der Referenzwert bei der Bekämpfung hilfreich sein wird.

Statisch bedeutet „statisch“ und „statisch“. Es bedeutet tatsächlich „statisch“ oder „global“. Wird häufig zum Ändern von Variablen und Funktionen verwendet. Der Umfang der durch Statik geänderten Variablen oder Funktionen ändert sich. Die Variable wird im Datensegment gespeichert und der Umfang und Lebenszyklus der Variable kann geändert werden. In der C-Sprache werden statische Variablen in zwei Formen unterteilt, nämlich alle statischen Variablen und lokale statische Variablen.

Globale statische Variable

Fügen Sie das Schlüsselwort static vor der globalen Variablen hinzu, und die globale Variable wird als globale statische Variable definiert

( 1) Speicherort: Statischer Speicherbereich (statischer Speicherbereich existiert während der gesamten Programmausführung)

(2) Initialisierung: Nicht initialisierte globale statische Variablen werden vom Programm automatisch auf 0 initialisiert

(3) Geltungsbereich: Globale statische Variablen sind außerhalb der Datei, in der sie deklariert sind, nicht sichtbar. Genau vom Definitionspunkt bis zum Ende der Datei.

Lokale statische Variable

Fügen Sie das Schlüsselwort static vor der lokalen Variablen hinzu, und die lokale Variable wird als lokale statische Variable definiert.

(1) Speicherort: statischer Speicherbereich

(2) Initialisierung: Nicht initialisierte lokale statische Variablen werden vom Programm automatisch auf 0 initialisiert (der Wert des automatischen Objekts ist beliebig). (es sei denn, er wird explizit initialisiert)

(3) Geltungsbereich: Der Geltungsbereich ist immer noch ein lokaler Geltungsbereich. Wenn die Funktion oder der Anweisungsblock, der ihn definiert, endet, endet auch der Geltungsbereich.

Hinweis

Wenn Static zum Ändern einer globalen Variablen verwendet wird, ändert sich der Gültigkeitsbereich der globalen Variablen (sie ist außerhalb der Datei, in der sie deklariert ist, nicht sichtbar). ) ), aber sein Speicherort hat sich nicht geändert, er befindet sich immer noch im statischen Speicherbereich.

Wenn statische Variablen zum Ändern lokaler Variablen verwendet werden, ändert sich der Speicherort lokaler Variablen vom ursprünglichen Stapel in einen statischen Speicherbereich. Die lokale statische Variable wird jedoch nach Verlassen des Gültigkeitsbereichs nicht zerstört, sondern bleibt bis zum Ende des Programms noch im Speicher, wir können jedoch nicht mehr darauf zugreifen.

Vorteile der Verwendung statischer Funktionen in der C-Sprache

(1) Statische Funktionen werden automatisch in einem Speicherbereich zugewiesen, der immer verwendet wird, bis das Programm beendet wird, wodurch Aufrufe vermieden werden Das Push-and-Pop von Funktionen ist viel schneller.

(2) statisch bedeutet, dass der Umfang der Funktion auf diese Datei beschränkt ist. Machen Sie sich keine Sorgen darüber, ob die von Ihnen definierte Funktion denselben Namen wie die Funktion in anderen Dateien hat

Zusammenfassung: Das Obige ist der gesamte Inhalt dieses Artikels, ich hoffe, dass er für alle hilfreich ist.

Das obige ist der detaillierte Inhalt vonWas sind statische Variablen in der C-Sprache?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn