Programmiersprache C: Variablen 2 - lokale und globale Variablen
Wie wir schon aus dem ersten Kapitel über Variablen
wissen, sind Variablen Träger von Werten. Sie müssen vor der
ersten Benutzung deklariert werden und sind immer von einem
bestimmten Typ.
Zusätzlich zu dieser
Weisheit gilt in C folgendes:
- Variablen, die innerhalb einer Funktion deklariert werden,
gelten nur innerhalb dieser Funktion.
Man bezeichnet sie als lokale Variablen.
- Variablen, die außerhalb von Funktionen deklariert werden,
gelten überall im Programm.
Man bezeichnet sie als globale Variablen.
Damit Du Dir das besser merken kannst:
- global kommt von Globus (lat. für Erdkugel),
hier also im Sinne von: überall.
- lokal kommt vom lateinischen Locus (dt. Ort) - der Ort ist hier die Funktion.
Bsp 1: Variable a gilt nur in der Funktion "meineFunktion". Sie ist eine lokale Variable.
#include <stdio.h>
void meineFunktion (void) {
int a = 3;
printf("%i \n", a);
}
int main (void) {
meineFunktion(); //Funktionsaufruf
return 0;
}
Bsp 2: Die lokale Variable a
soll fälschlicherweise in der main-Funktion benutzt werden, wo sie unbekannt ist.
#include <stdio.h>
void meineFunktion (void) {
int a = 3;
printf("%i", a);
}
int main (void) {
meineFunktion(); //Funktionsaufruf
printf("%i", a);// hier ist der Fehler
return 0;
}
Bsp 3: Variable b gilt im gesamten Programm. Sie ist eine globale Variable.
#include <stdio.h>
int b = 4;
void meineFunktion (void) {
printf("%i \n", b);
}
int main (void) {
printf("%i \n", b);
meineFunktion(); //Funktionsaufruf
return 0;
}
Bsp 4: zwei Variablen mit Namen
c werden lokal verwendet. Sie stören sich nicht gegenseitig.
#include <stdio.h>
void meineFunktion(void){
int c;
c = 3;
printf("%i \n", c);
}
int main (void)
int c;
c = 7;
meineFunktion(); //Funktionsaufruf
printf("%i \n", c); // hier wird eine 7 ausgedruckt, keine 3
return 0;
}
Auch wenn Dir das recht unübersichtlich erscheint! Die
Unterscheidung von globalen und lokalen Variablen hat für Dich den
Vorteil, daß Du Dir keine Gedanken darüber machen mußt, welche
Variablen von anderen Programmierern benutzt wurden, deren
Funktionen Du in Deinem Programm benutzt.
weiter
|