In C lassen sich Variablen für folgenden Zugriff deklarieren
* Zugriff von allen Modulen und von jeder Funktion aus (globale Variable)
* Zugriff nur innerhalb eines Moduls
* Zugriff nur innerhalb des Aufrufes einer Funktion, sodass die Variable nur während des Funktionsdurchlaufes existiert (lokale Variable)
* Zugriff nur innerhalb einer Funktion, sodass die Variable über die gesamte Programmlaufzeit vorhanden ist (über alle Aufrufe hinweg wird auf die gleiche Variable zugegriffen)
Wenn eine Variable nur innerhalb eines Moduls verwendet werden soll, dann muss diese zu Beginn des Moduls - also vor der Definition der Funktionen - definiert werden.
Das Schlüsselwort >>static<< sorgt dafür, dass aus keinem anderen Modul auf die Variable zugegriffen werden kann, bedeutet, dass der Compiler die variable nicht exportiert.
#include <stdio.h> static int Variable;
// Beispiel zur Definition und Deklaration von Variablen in C // Definition einer programmglobalen Variablen int ProgGlobVar; // Definition einer modulglobalen Variablen static int ModGlobVar; // Deklaration einer globalen Variablen extern char *GlobVar; // Definition einer modulglobalen Funktion static void *function(void) { int LocalVar; // Definition einer lokalen Variablen static int FuncGlobVar; // Definition einer Variablen mit }