auto und lokaler Gültigkeitsbereich
Variablen auf Blockebene
auto und lokaler Gültigkeitsbereich ist eine kostenlose C Academy-Lektion auf CoddyKit. Dies ist Lektion 1 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des C Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der C Academy-Kurs umfasst insgesamt 4 Lektionen.
Was ist ein Gültigkeitsbereich
Der Gültigkeitsbereich ist der Codebereich, in dem ein Name sichtbar ist. In C sind Variablen, die innerhalb eines Blocks deklariert werden, nur in diesem Block sichtbar.
#include <stdio.h>
int main(void) {
int x = 5;
printf("x = %d\n", x);
return 0;
}Die Speicherklasse auto
Lokale Variablen sind standardmäßig auto. Das Schlüsselwort wird nur selten geschrieben, da es für jede Variable mit Block-Gültigkeitsbereich implizit gilt.
#include <stdio.h>
int main(void) {
auto int n = 42;
printf("n = %d\n", n);
return 0;
}Block-Gültigkeitsbereich
Ein geschweiftes Klammerpaar erzeugt einen neuen Block. Variablen darin verschwinden, sobald der Block endet.
#include <stdio.h>
int main(void) {
{
int inner = 10;
printf("inner = %d\n", inner);
}
return 0;
}Automatische Lebensdauer
Eine auto-Variable wird beim Betreten ihres Blocks erzeugt und beim Verlassen des Blocks zerstört. Das ist ihre Lebensdauer.
#include <stdio.h>
int main(void) {
for (int i = 0; i < 2; i++) {
int fresh = i * 10;
printf("fresh = %d\n", fresh);
}
return 0;
}Namensüberdeckung
Eine innere Variable kann eine äußere Variable mit demselben Namen überdecken. Innerhalb ihres Blocks hat der innere Name Vorrang.
#include <stdio.h>
int main(void) {
int x = 1;
{
int x = 99;
printf("inner x = %d\n", x);
}
printf("outer x = %d\n", x);
return 0;
}Funktionsparameter sind lokal
Auch Parameter sind lokale Variablen. Sie existieren nur, solange die Funktion ausgeführt wird.
#include <stdio.h>
int square(int n) {
return n * n;
}
int main(void) {
printf("%d\n", square(6));
return 0;
}Nicht initialisierte lokale Variablen
Eine auto-Variable wird nicht automatisch auf null gesetzt. Wenn Sie sie vor einer Zuweisung lesen, erhalten Sie einen unbestimmten Wert. Initialisieren Sie Variablen immer.
#include <stdio.h>
int main(void) {
int x = 0;
x = x + 5;
printf("x = %d\n", x);
return 0;
}Lokale Variablen pro Aufruf
Jeder Aufruf einer Funktion erhält eine eigene, neue Kopie ihrer lokalen Variablen.
#include <stdio.h>
void greet(void) {
int count = 1;
printf("count = %d\n", count);
}
int main(void) {
greet();
greet();
return 0;
}Warum lokale Variablen sinnvoll sind
Ein lokaler Gültigkeitsbereich hält Variablen voneinander getrennt und verhindert unbeabsichtigte Wechselwirkungen zwischen verschiedenen Teilen eines Programms.
#include <stdio.h>
int main(void) {
int a = 3;
{
int b = 4;
printf("a + b = %d\n", a + b);
}
return 0;
}Verschachtelte Blöcke
Blöcke können verschachtelt werden. Innere Blöcke können äußere Variablen lesen, äußere Blöcke jedoch keine inneren.
#include <stdio.h>
int main(void) {
int outer = 1;
{
int middle = 2;
{
int inner = 3;
printf("%d\n", outer + middle + inner);
}
}
return 0;
}Gültigkeitsbereich und Schleifen
Eine im for-Kopf deklarierte Variable ist nur innerhalb der Schleife gültig.
#include <stdio.h>
int main(void) {
int sum = 0;
for (int i = 1; i <= 4; i++)
sum += i;
printf("sum = %d\n", sum);
return 0;
}Kurzer Test
Testen Sie Ihr Verständnis von auto und lokalen Gültigkeitsbereichen.
Rückblick: auto und lokale Gültigkeitsbereiche
Sie haben gelernt, wie sich lokale Variablen verhalten.
- Variablen mit Block-Gültigkeitsbereich sind standardmäßig
auto - Ihre Lebensdauer ist an den Block gebunden
- Innere Namen können äußere Namen überdecken
- Lokale Variablen werden nicht automatisch initialisiert
- Jeder Funktionsaufruf erhält neue lokale Variablen
Häufig gestellte Fragen
Ist die Lektion „auto und lokaler Gültigkeitsbereich“ kostenlos?
Ja — der vollständige Text von „auto und lokaler Gültigkeitsbereich“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des C Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der C Academy-Kurs umfasst insgesamt 4 Lektionen.
Was lerne ich in „auto und lokaler Gültigkeitsbereich“?
Variablen auf Blockebene Du übst C Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.
Brauche ich Erfahrung, um C Academy zu starten?
Keine Vorkenntnisse erforderlich. C Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 1 von 4.
Wie lange dauert die Lektion „auto und lokaler Gültigkeitsbereich“?
Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.
Kann ich in dieser C Academy-Lektion Code schreiben und ausführen?
Ja. Jede C Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.
Alle Lektionen in diesem Kurs
- auto und lokaler Gültigkeitsbereich
- static-Variablen
- extern und global
- register und const