Verbundanweisung (C)
Eine Verbundanweisung (auch als einen Block „“) wird in der Regel als Text einer anderen Anweisung, wie der If-Anweisung.Deklarationen und Typen beschreibt das Formular und die Bedeutung der Deklarationen, die am Anfang einer Verbundanweisung werden können.
Syntax
Verbundanweisung:
{ DeklarationListeoptAnweisungslisteopt**}**DeklarationListe:
DeklarationDeklarationListe Deklaration
Anweisungsliste:
AnweisungAnweisungslisten Statement
Wenn diese Deklarationen sind, müssen sie vor allen Anweisungen stammen.Der Gültigkeitsbereich eines Bezeichners, der am Anfang einer Verbundanweisung deklariert ist, reicht von ihren Deklarationen das Popup an das Ende des Blocks.Sie ist während des Blocks sichtbar, es sei denn, eine Deklaration des Bezeichners in einem inneren Block vorhanden ist.
Bezeichner in einer Verbundanweisung sind angenommenes auto , es sei denn, andernfalls Registerexplizit deklariert mit staticoder extern, es sei denn, Funktionen, die nur externsein können.Sie können vom extern Bezeichner in Funktionsdeklarationen wechseln und die Funktion ist weiterhin extern.
Der Speicher wird nicht zugeordnet und Initialisierung ist nicht zulässig, wenn eine Variable oder eine Funktion in einer Verbundanweisung mit externSpeicherklasse deklariert ist.Die Deklaration verweist auf eine externe Variable oder eine Funktion an, die an einer anderen Stelle definiert sind.
Die Variablen, die in einem Block mit auto oder Register-Schlüsselwort deklariert werden und ggf. neu reserviert werden initialisiert, wenn die Verbundanweisung eingegeben wird.Diese Variablen werden nicht definiert, nachdem die Verbundanweisung beendet ist.Wenn eine Variable, die in einem Block deklariert wird, das static-Attribut aufweist, wird die Variable initialisiert, wenn der Wert des Programms während der Programmausführung gestartet und hält.Weitere Informationen dazu finden Sie unter Speicherklassenstatic.
In diesem Beispiel wird eine Verbundanweisung:
if ( i > 0 )
{
line[i] = x;
x++;
i--;
}
In diesem Beispiel wenn i größer als 0 ist, werden alle Anweisungen innerhalb einer Verbundanweisung in der Reihenfolge ausgeführt.