Heim > Artikel > Backend-Entwicklung > Erläutern Sie die Gültigkeitsbereichsregeln für Anweisungsblöcke in der C-Sprache
Bereichsregeln beziehen sich auf −
Die Gültigkeitsbereichsregeln für Anweisungsblöcke lauten wie folgt:
Ein Anweisungsblock ist in geschweifte Klammern eingeschlossen und enthält eine Reihe von Anweisungen.
Variablen, die innerhalb eines Anweisungsblocks deklariert werden, können innerhalb des Blocks aufgerufen und verwendet werden, sind jedoch außerhalb des Blocks nicht vorhanden.
Das Folgende ist ein C-Programm im Zusammenhang mit Geltungsbereichsregeln für Anweisungsblöcke −
Demonstration der
#include<stdio.h> main ( ){ { int i = 1; printf ("%d",i); } { int j=2; printf("%d",j); } }
Die Ausgabe lautet wie folgt: −
1 2
selbst wenn die Variablen deklariert sind In ihren jeweiligen Codeblöcken werden sie neu deklariert und mit demselben Namen als unterschiedlich behandelt.
Hier ist ein weiteres C-Programm über Regeln für den Gültigkeitsbereich von Anweisungsblöcken −
Live-Demonstration
#include<stdio.h> main ( ){ { int i = 1; printf ("%d",i); } { int i =2; printf ("%d",i); } }
Die Ausgabe ist wie folgt: −
1 2
Neudeklaration einer Variablen innerhalb eines Blocks mit demselben Namen wie der äußere Block will Maskiert äußere Blockvariablen, was passiert, wenn innere Blöcke ausgeführt werden.
Dies ist ein weiteres C-Programm zu Anweisungsblock-bezogenen Scoping-Regeln −
Echtzeitdemonstration
#include<stdio.h> main ( ){ int i = 1;{ int i = 2; printf ("%d",i); } }
Die Ausgabe lautet wie folgt: Auf außerhalb des inneren Blocks deklarierte Variablen kann innerhalb zugegriffen werden verschachtelte Blöcke, sofern diese Variablen nicht im inneren Block deklariert sind.
Beispiel 4
Demonstration
2
Ausgabe
#include<stdio.h> main ( ){ int i = 1;{ int j = 2; printf ("%d",j); printf ("%d",i); } }
Das obige ist der detaillierte Inhalt vonErläutern Sie die Gültigkeitsbereichsregeln für Anweisungsblöcke in der C-Sprache. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!