Beitragsseiten

Globale Variablen

Werden Variablen außerhalb jeder Funktion deklariert, so sind diese globale Variablen. Globale Variablen können von jeder Funktion innerhalb des Programms genutzt werden. Wird innerhalb der Funktion eine gleichnamige Variable (lokale Variable) deklariert, so greift diese Funktion beim Aufruf der Variablen natürlich auf die lokale Variable zu. Sinnvollerweise sollten globale Variablen am Anfang des Programmquellcodes erzeugt werden oder in eine zusätzliche Datei abgespeichert werden, die man mit Hilfe von #include <> einbindet.

1. Beispiel (siehe auch Funktionen):

#include <stdio.h>

int zahl=10;                             // Deklaration der globale Variable "zahl" 

void funktion1()                         // Funktionsdeklaration
{                              
  zahl = 20;                             // Änderung der globalen Variablen "zahl"
  printf("In der Funktion: %d\n",zahl);  // Ausgabe der globalen Variablen "zahl"
} 

void main()
{
  printf("Vor der Funktion: %d\n",zahl);  // Ausgabe der lokalen Variablen "zahl"
  funktion1();                            // Funktionsaufruf
  printf("Nach der Funktion: %d\n",zahl); // Ausgabe der lokalen Variablen "zahl"
} 


Bildschirmausgabe:

Vor der Funktion: 10
In der Funktion: 20
Nach der Funktion: 20

 

In dem Programm wird zuerst eine globale Variable zahl erzeugt und mit dem Wert 10 initialisiert. Nach dem Start des Programms wird als erstes die main()-Funktion aufgerufen. Diese greift mit der ersten printf()-Funktion auf die globale Variable zahl zu und gibt diesen aus. Als nächstes wird die Funktion funktion1() aufgerufen, die der globalen Variablen zahl einen neuen Wert zuweist und diesen ausgibt. Als letztes greift die main()-Funktion nochmal auf die globale Variable zahl zu und gibt deren veränderten Wert aus.


2. Beispiel:

#include <stdio.h>

int zahl = 30;                            // Deklaration der globale Variable "zahl"

void funktion1()                          // Funktionsdeklaration
{
   zahl = 20;                             // Änderung der globalen Variablen "zahl"
   printf("In der Funktion: %d\n",zahl);  // Ausgabe der globalen Variablen "zahl"
} 

void main() 
{   
  int zahl = 10;                          // Deklaration der lokalen Variablen "zahl"

  printf("Vor der Funktion: %d\n",zahl);  // Ausgabe der lokalen Variablen "zahl"
  funktion1();                            // Funktionsaufruf
  printf("Nach der Funktion: %d\n",zahl); // Ausgabe der lokalen Variablen "zahl"
}  


Bildschirmausgabe:

Vor der Funktion: 10
In der Funktion: 20
Nach der Funktion: 10


In dem Programm wird zuerst eine globale Variable zahl erzeugt und mit dem Wert 30 initialisiert. Nach dem Start des Programms wird als erstes die main()-Funktion aufgerufen. Innerhalb dieser wird eine lokale Variable zahl mit dem Variablenwert 10 erzeugt. Die ersten printf()-Funktion in der main()-Funktion greift auf die lokale Variable zahl zu, da diese in der main()-Funktion Vorrang gegenüber der gleichnamigen globalen Variablen zahl hat, und gibt diese aus. Als nächstes wird die Funktion funktion1() aufgerufen, die der globalen Variablen zahl einen neuen Wert zuweist und diesen ausgibt. Als letztes greift die main()-Funktion nochmal auf die lokale Variable zahl zu und gibt deren Wert aus.