static Datentyp variabler Name
Statische lokale Variablen
Wenn eine Variable in einer Funktion statisch ist, bewahrt die Variable ihren Wert zwischen Funktionsaufrufen.
//Beispiel 1.C
In Beispiel 1.C, wir haben zwei Funktionen: fun1 () Und fun2 (). In fun1 (), Wir deklarieren eine Variable (Count) und initialisieren sie auf 0. Dann erhöhen wir die Zählvariable und geben den resultierenden Wert zurück. Verwendung hauptsächlich(), wir nennen fun1 () Zweimal und jedes Mal wird ein Wert von 1 zurückgegeben, da die Zählvariable gelöscht wird fun1 () abgeschlossen. In fun2 () Wir haben die Zählvariable als statische Variable deklariert. Daher bleibt sein Wert erhalten. Verwendung hauptsächlich(), wir nennen fun2 () Zweimal: Das erste Mal wird ein Wert von 1 zurückgegeben, und beim zweiten Mal wird ein Wert von 2 zurückgegeben.
Statische globale Variablen
Eine statische globale Variable verhält sich auf die gleiche Weise wie andere globale Variablen, kann jedoch nicht aus einem anderen C -Programm zugreifen.
Statische Funktionen
In C sind Funktionen standardmäßig global global. Wenn wir jedoch eine statische Funktion deklarieren, ist die Funktion lokal und kann nicht von einem anderen C -Programm zugegriffen werden.
Initialisierung statischer Variablen
Wenn eine statische Variable nicht explizit initialisiert wird, wird sie als 0 initialisiert.
// Beispiel2.C
In Beispiel2.c, wir haben eine statische Variable i deklariert, die nicht initialisiert wird. Da die Variable jedoch statisch ist, wird sie automatisch auf 0 initialisiert.
Es ist wichtig zu beachten, dass eine statische Variable durch ein konstantes buchstäbliches initialisiert werden muss; Wir können den Rückgabewert einer Funktion nicht verwenden, um eine statische Variable zu initialisieren.
// Beispiel3.C
In Beispiel3.c, wir versuchen, eine statische Variable durch den Rückgabewert von zu initialisieren fun1 (). Wie Sie jedoch sehen können, wird ein Fehler zurückgegeben, wenn der Code zusammengestellt wird.
Zusammenfassung
Die Lebensdauer einer statischen Variablen und die Lebensdauer des Programms sind gleich.
Wenn eine statische Variable nicht initialisiert wird, nimmt sie einen Standardwert von 0 an.
Weder eine globale statische Variable noch eine statische Funktion sind von einem anderen Programm als dem zugänglich, in dem sie definiert wurde.