C-Programmierung

Statisch in der C-Programmierung

Statisch in der C-Programmierung
In diesem Tutorial erklären wir das statische Schlüsselwort, indem wir es in Variablen und Funktionen anwenden applying. Static ist ein Schlüsselwort, das in der C-Programmierung verwendet wird und mit der folgenden Syntax angewendet werden kann:

statisch Datentyp Variablenname

Statische lokale Variablen

Wenn eine Variable in einer Funktion statisch ist, behält die Variable ihren Wert zwischen Funktionsaufrufen bei.

//Beispiel 1.c
#einschließen
int fun1()

int-Zählung = 0;
zählen++;
Rücklaufzahl;

int fun2()

statischer int-Zähler = 0;
zählen++;
Rücklaufzahl;

int main()

printf("fun1 1. Aufruf gibt : %d\n",fun1());
printf("fun1 2. Aufruf gibt : %d\n\n",fun1());
printf("fun2 1. Aufruf gibt : %d\n",fun2());
printf("fun2 2. Aufruf gibt : %d\n",fun2());
0 zurückgeben;


In Beispiel 1.c haben wir zwei Funktionen: Spaß1() und Spaß2(). Im Spaß1(), wir deklarieren eine Variable (count) und initialisieren sie auf 0. Dann inkrementieren wir die Zählvariable und geben den resultierenden Wert zurück. Verwenden von Main(), wir nennen Spaß1() zweimal und jedes Mal wird der Wert 1 zurückgegeben, da die Zählvariable gelöscht wird, wenn der Aufruf an Spaß1() abgeschlossen. Im Spaß2() wir haben die Zählvariable als statische Variable deklariert. Daher bleibt sein Wert erhalten. Verwenden von Main(), wir nennen Spaß2() zweimal: beim ersten 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 wie andere globale Variablen, kann jedoch nicht von einem anderen C-Programm aus aufgerufen werden.

Statische Funktionen

In C sind Funktionen standardmäßig global. Wenn wir jedoch eine statische Funktion deklarieren, ist die Funktion lokal und kann nicht von einem anderen C-Programm aus aufgerufen werden.

Initialisierung von statischen Variablen

Wenn eine statische Variable nicht explizit initialisiert wird, wird sie als 0 . initialisiert.

//Beispiel2.c
#einschließen
int main()

statisches int i;
printf("Wert von i : %d\n",i);
0 zurückgeben;


In Beispiel2.c haben wir eine statische Variable i deklariert, die nicht initialisiert ist. Da die Variable jedoch statisch ist, wird sie automatisch auf 0 . initialisiert.

Es ist wichtig zu beachten, dass eine statische Variable mit einem konstanten Literal initialisiert werden muss; Wir können den Rückgabewert einer Funktion nicht verwenden, um eine statische Variable zu initialisieren.

//Beispiel3.c
#einschließen
int fun1()

zurück 5;

int main()

statisches int i = fun1();
printf("Wert von i : %d\n",i);
0 zurückgeben;


In Beispiel3.c versuchen wir, eine statische Variable zu initialisieren, indem wir den Rückgabewert von using verwenden Spaß1(). Wie Sie jedoch sehen können, wird beim Kompilieren des Codes ein Fehler zurückgegeben.

Zusammenfassung

Die Lebensdauer einer statischen Variablen und die Lebensdauer des Programms sind gleich.

Wenn eine statische Variable nicht initialisiert wird, nimmt sie den Standardwert 0 . an.

Weder auf eine globale statische Variable noch auf eine statische Funktion kann von einem anderen Programm als dem, in dem sie definiert wurde, zugegriffen werden.

So entwickeln Sie ein Spiel unter Linux
Vor einem Jahrzehnt hätten nicht viele Linux-Benutzer vorhergesagt, dass ihr Lieblingsbetriebssystem eines Tages eine beliebte Spieleplattform für kom...
Open-Source-Ports kommerzieller Spiele-Engines
Kostenlose, quelloffene und plattformübergreifende Spiel-Engine-Nachbildungen können verwendet werden, um sowohl alte als auch einige der relativ neue...
Beste Befehlszeilenspiele für Linux
Die Befehlszeile ist nicht nur Ihr größter Verbündeter bei der Verwendung von Linux – sie kann auch eine Quelle der Unterhaltung sein, da Sie damit vi...