Grundlagen globaler Variablen
Was sind globale Variablen?
Globale Variablen sind Variablen, die außerhalb jeder Funktion deklariert werden und einen Gültigkeitsbereich haben, der sich über das gesamte Programm erstreckt. Sie können von jeder Funktion im Quellcode zugegriffen und geändert werden, was sie zu einem mächtigen, aber potenziell gefährlichen Programmierkonstrukt macht.
Hauptmerkmale
Gültigkeitsbereich und Lebensdauer
- Außerhalb aller Funktionen deklariert
- Existieren während der gesamten Programmlaufzeit
- Von jedem Teil des Codes zugänglich
Deklarationssyntax
// Deklaration globaler Variablen
int globalCounter = 0;
char globalMessage[100];
Speicherallokation
graph TD
A[Globale Variablen] --> B[Statische Speicherallokation]
B --> C[Im Datensegment gespeichert]
C --> D[Existieren während der gesamten Programmausführung]
Arten globaler Variablen
Variablentyp |
Speicherklasse |
Standardinitialisierung |
Statische globale Variable |
static |
Null/0 |
Externe globale Variable |
extern |
Nicht initialisiert |
Konstante globale Variable |
const |
Initialisierung erforderlich |
Beispiel in Ubuntu C-Programmierung
#include <stdio.h>
// Deklaration globaler Variablen
int globalValue = 100;
void demonstrateGlobalVariable() {
printf("Globaler Wert innerhalb der Funktion: %d\n", globalValue);
globalValue += 50;
}
int main() {
printf("Initialer globaler Wert: %d\n", globalValue);
demonstrateGlobalVariable();
printf("Geänderter globaler Wert: %d\n", globalValue);
return 0;
}
Überlegungen
- Globale Variablen sparsam verwenden
- Vorzugsweise Parameter an Funktionen übergeben
- Vorsicht vor möglichen Nebenwirkungen
- Berücksichtigung der Threadsicherheit in mehrgängigen Anwendungen
Bei LabEx empfehlen wir ein gründliches Verständnis globaler Variablen, um wartbareren und vorhersehbareren Code zu schreiben.