Solars C++ Kurs
Programmieren leicht erlernt
Funktionen

Lokale Variablen

Variablen, welche innerhalb einer Funktion deklariert werden, nennt man 'lokale Variablen'.
Bisher arbeiten wir nur mit lokalen Variablen. Diese haben die Eigenschaft, nur innerhalb einer Funktion gültig zu sein.

Eine lokale Variable, welche im main benutzt wird, existiert auch nur in main. Das selbe gilt für eine Variable welche in ScppkAusgabe genutzt wird: Sie ist nur in ScppkAusgabe gültig.

Erweitern sie das letzte Programm folgendermaßen:

main.cpp
#include <iostream.h>

void ScppkAusgabe()
{
  cout << nZahl;
}

int main()
{
  int nZahl;
  cout << "Bitte geben sie eine Zahl ein: ";
  cin >> nZahl;
  ScppkAusgabe();
  return 0;
}


Beim Versuch dies zu kompilieren wird eine Fehlermeldung ausgegeben werden. Da die Variable nZahl nur in main gültig ist, kann sie in ScppkAusgabe natürlich nicht benutzt werden.

Wenn die Datei folgendermaßen abgeändert wird, kann man das Programm kompilieren:

main.cpp
#include <iostream.h>

void ScppkAusgabe()
{
  int nZahl;
  cout << "Zahl fuer die Funktion: ";
  cin >> nZahl;
  cout << "nZahl in der Funktion: ";
  cout << nZahl << "\n";
}

int main()
{
  int nZahl;
  cout << "Zahl fuer das Hauptprogramm: ";
  cin >> nZahl;
  cout << "nZahl in main vor der Funktion: ";
  cout << nZahl << "\n";
  ScppkAusgabe();
  cout << "nZahl in main nach der Funktion: ";
  cout << nZahl << "\n";
  return 0;
}


Obwohl die Variablen in main und in ScppkAusgabe gleich heißen, beeinflussen sie sich nicht.

Eine lokale Variable wird beim Start einer Funktion neu angelegt. Innerhalb der Funktion kann sie benutzt werden. Am Ende der Funktion wird sie jedoch wieder vergessen.

Das bedeutet, wenn eine Funktion mehrmals aufgerufen wird, wird die Variable jedesmal wieder neu angelegt. Was beim letzten Funktionsaufruf in der Variablen gespeichert wurde, ist wieder vergessen.

Der große Vorteil bei lokalen Variablen ist, das man sich keine Gedanken darüber machen muß, ob der Variablenname bereits woanders benutzt wurde.