Atari Logo
Atari Computer

Hauptseite -
Welches System? -
Hardware -
Software -
Emulatoren -
Internet
MausNet
Programmieren
Verweise
Über

C

Home Variable und Standarddatentypen Beispiele für Deklarationen Speicherklassen

6.8 Gültigkeitsbereich

Eine Variable auf globaler Ebene, also außerhalb einer Funktion ist in allen Funktionen darunter bekannt. Eine Variable innerhalb eines Blockes nur innerhalb des Blocks, in dem sie deklariert sind. Innerhalb einer "Ebene" kann es keine zwei Bezeichner mit dem gleichen Namen geben. Eine Variable innerhalb eines Blocks "überdeckt" andere Variable außerhalb.

Und damit das ganze etwas anschaulicher wird und weil schon genug Theorie kam, folgen hierzu einige Beispiele. Testen sie ruhig alle Beispiele, erst durch eigenes Probieren kommt die nötige Anschauung. Und mit Anschauung kann man sich Dinge leichter merken.

Was passiert bei folgendem Beispiel?

#include <stdio.h>

int i=3;
int main()
{
   printf("i = %d\n",i);
}
int i;

Tja, da hier zweimal die Variable i deklariert ist, beschwert sich schon der Compiler und das Programm läßt sich nicht übersetzen.

Was passiert bei folgendem Beispiel?

#include <stdio.h>

float main=3.5;
int main()
{
   printf("main = %d\n",main);
}

Auch hier beschwert sich der Compiler. Denn hier haben wir den gleichen Namen "main" zweimal vergeben.

Was passiert bei folgendem Beispiel?

#include <stdio.h>

int i=10;
int main()
{  int i=15;
   printf("i = %d\n",i);
}

Dieses Beispiel sollte sich problemlos übersetzen lassen. Die Ausgabe des Programms ist "i = 15". Innerhalb der Funktion main wird die mit 15 initialisierte Variable benutzt. Die global deklarierte und mit 10 initialisierte Variable i ist innerhalb von main "unsichtbar".

Was passiert bei folgendem Beispiel?

#include <stdio.h>

int i=3;
int main()
{
   printf("j = %d\n",j);
}
int j=5;

Hier sollte sich wieder der Compiler beschweren. Eine globale Variable ist in allen darunter liegenden Funktionen bekannt. Die Funktion main liegt aber über der Deklaration von j und damit kennt main j nicht.


Home Variable und Standarddatentypen Beispiele für Deklarationen Speicherklassen


Best viewed with any browser English version not yet available.

Änderungen und Irrtümer vorbehalten. Letzte Änderung:
14 September 2001.
Home - Mail an den Webmaster - Impressum