C++ Variablen-Scope: Lokal vs. Global verstehen
Ein Scope (Gültigkeitsbereich) ist ein Programmabschnitt. Variablen können an drei Stellen deklariert werden:
- Innerhalb einer Funktion oder eines Blocks → lokale Variablen
- In Funktionsparametern → formale Parameter
- Außerhalb aller Funktionen → globale Variablen
Lokale Variablen
Innerhalb einer Funktion/Block deklariert. Nur von Statements innerhalb dieser Funktion/Block nutzbar. Außerhalb unbekannte Funktionen.
#include <iostream>
using namespace std;
int main() {
int a, b; // lokale Deklaration
int c;
a = 10;
b = 20;
c = a + b;
cout << c;
return 0;
}
Globale Variablen
Außerhalb aller Funktionen definiert, meist am Programmanfang. Behalten ihren Wert während der gesamten Programmlaufzeit. Zugriff aus jeder Funktion möglich.
#include <iostream>
using namespace std;
int g; // globale Deklaration
int main() {
int a = 10, b = 20; // lokale Deklaration
g = a + b;
cout << g;
return 0;
}
Ein Programm kann gleichnamige lokale und globale Variablen haben – der lokale Wert hat Vorrang:
#include <iostream>
using namespace std;
int g = 20; // global
int main() {
int g = 10; // lokal – überdeckt global
cout << g; // gibt 10 aus
return 0;
}
Initialisierung: Lokal vs. Global
Lokale Variablen werden nicht automatisch initialisiert – Sie müssen es selbst tun. Globale Variablen werden automatisch initialisiert:
| Datentyp | Initialisierer |
|---|---|
| int | 0 |
| char | '\0' |
| float | 0 |
| double | 0 |
| pointer | NULL |
Gute Praxis: Variablen immer ordnungsgemäß initialisieren, sonst unerwartete Ergebnisse.
C Sprache
- C# Variablen & Primitive Datentypen meistern: Der komplette Guide
- Variablengültigkeitsbereich in C# verstehen: Klassen-, Methoden- und Blockebene
- C++-Variablen, Literale und Konstanten meistern: Ein umfassender Leitfaden
- C++-Operatoren meistern: Ein vollständiger Leitfaden mit praktischen Beispielen
- C++-Kommentare: Best Practices für lesbaren, wartbaren Code
- C Variablen, Konstanten und Literale: Ein vollständiger Leitfaden
- C Speicherklassen verstehen: Gültigkeitsbereich, Lebensdauer und Performance
- Python Global, Local & Nonlocal Variablen verstehen
- C++ Variablen und Datentypen: Experten‑Guide zu int, double, char, string, bool
- C++ Zeiger meistern: Konzepte, Beispiele & praktische Anwendungen