c / intermediate
Snippet
Statische Variablen in Funktionen
Eine statische lokale Variable behält ihren Wert zwischen Funktionsaufrufen bei und wird nur einmal beim Programmstart initialisiert.
snippet.c
1
2
3
4
5
void track_calls() {static int count = 0;count++;printf("Called %d times\n", count);}
Erklärung
1
static int count = 0;
Deklariert eine statische Variable, die für die gesamte Dauer des Programms im Speicher bleibt.
2
count++;
Inkrementiert den Wert, der für den nächsten Funktionsaufruf gespeichert bleibt.