Variablen doppelt deklarieren

Liberty-son

Mitglied
Hallo Leute und C-Freunde!

Ich hab folgende Anfängerfrage bezüglich der Sprache C. Ich deklariere eine Variable i vom Typ int und im weiteren Verlauf deklariere ich nochmals in einer Schleife i neu.
Beispiel:
int i;
blablabla
i = 0;
while{.....
int i = i + 1;
.....

Wird hier i neu deklariert und nimmt i ohne Zuweisung irgendeinen Wert aus dem Speicher oder was geschieht bei solch einer Zuweisung? Ich versuche hier mir grundlegende Kenntnisse in C anzueignen bezüglich Gültigkeitsbereichen (Algol / C-Regel) usw.
Kann mir jemand bitte etwas genauer erklären was hier passiert denn die Zuweisung ist ja in C möglich jedoch nicht in Java. int i ist keine globale Variable wie man hoffentlich erkennen kann :)

Vielen Dank
 
Moin!

Die Variable "i" innerhal der "while" Schleife ist eine andere als die außerhalb. Du solltest allerding beachten, dass bei jedem Durchlauf der Schleife i neu deklariert und definiert wird.

Gruß
Enum
 
ah ok...danke. Also gilt die ganz normale C-Regel. Außerhalb der while-Schleife ist dann wieder das erste i gültig. Danke nochmals
 
Zurück