Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
En sammansatt instruktion (kallas även "block") visas vanligtvis som brödtexten i en annan instruktion, till exempel -instruktionen if .
Deklarationer och typer beskriver formen och innebörden av de deklarationer som kan visas i huvudet på en sammansatt sats.
Syntax
compound-statement:
{
declaration-list
väljastatement-listvälja}
declaration-list:
declaration
declaration-list
declaration
statement-list:
statement
statement-list
statement
Om det finns deklarationer måste de komma före några instruktioner. Omfånget för varje identifierare som deklareras i början av ett sammansatt uttryck sträcker sig från dess deklarationspunkt till slutet av blocket. Den visas i hela blocket om inte en deklaration av samma identifierare finns i ett inre block.
Identifierare i en sammansatt instruktion antas om inte uttryckligen deklareras auto på annat sätt med register, static, eller extern, förutom funktioner, som endast kan vara extern. Du kan lämna angeren extern i funktionsdeklarationer och funktionen kommer fortfarande att vara extern.
Lagring allokeras inte och initiering tillåts inte om en variabel eller funktion deklareras i en sammansatt instruktion med lagringsklassen extern. Deklarationen refererar till en extern variabel eller funktion som definierats någon annanstans.
Variabler som deklareras i ett block med nyckelordet auto eller register omallokeras och initieras vid behov varje gång den sammansatta instruktionen anges. Dessa variabler definieras inte längre när den sammansatta instruktionen har avslutats. Om en variabel som deklareras i ett block har static attributet initieras variabeln när programkörningen börjar och behåller värdet i hela programmet. Mer information om finns i Lagringsklasser.static
Det här exemplet illustrerar en sammansatt instruktion:
if ( i > 0 )
{
line[i] = x;
x++;
i--;
}
I det här exemplet, om i är större än 0, körs alla instruktioner i den sammansatta -instruktionen i ordning.