next up previous contents
Next: const Up: Lebensdauer und Lage der Previous: auto

static

Das Schlüsselwort static bewirkt, daß eine Variable während der gesamten Programmlebensdauer existiert. Diese Variablen werden vom Compiler vor Programmbeginn meist auf dem heap-Speicher angelegt und, sofern nicht anders angegeben, auf den Wert 0 initialisiert. Eine static Variable innerhalb einer Funktion hat daher den Inhalt 0, wenn die Funktion das erste Mal angesprungen wird und behält zwischen Funktionsaufrufen den jeweils zuletzt zugewiesenen Wert. Eine automatische Variable wird hingegen jedes Mal neu angelegt und ggf. initialisiert. Die folgende Funktion zählt, wie häufig sie aufgerufen wurde, und gibt diesen Wert zurück:

int f(){
  static int count;  // 0 at first function call
  return ++count;    // increment before use as return value
                     // (i.e. returns one on the first call) 
}



© R.Hilfer et al., ICA-1, Univ. Stuttgart
28.6.2002