Un'istruzione composta (C)
Un'istruzione composta denominato anche un “blocco„) in genere viene visualizzato come corpo di un'altra istruzione, ad esempio se istruzione.dichiarazioni e tipi viene descritto il form e il significato delle dichiarazioni che possono essere visualizzati all'intestazione di un'istruzione composta.
Sintassi
composto-rendiconto:
{ dichiarazione-elencoscegliererendiconto-elencoscegliere**}**dichiarazione-elenco:
dichiarazionedichiarazione dell'dichiarazione-elenco
rendiconto-elenco:
statementistruzione dell'rendiconto-elenco
Se esistono dichiarazioni, devono precedere eventuali istruzioni.L'ambito di ogni identificatore dichiarato all'inizio di un'istruzione composta si estende dal momento della dichiarazione alla fine del blocco.È visibile in un blocco a meno che una dichiarazione dello stesso identificatore esista in un blocco interno.
Gli identificatori in un'istruzione composta sono considerati autoidentificatori a meno che in modo esplicito dichiarato in caso contrario con il registro, statico, o extern, ad eccezione delle funzioni, che possono essere solo extern.È possibile passare dal extern l'identificatore nelle dichiarazioni di funzione e la funzione verranno comunque extern.
L'archiviazione non viene allocata e l'inizializzazione non è valida se una variabile o una funzione è dichiarata in un'istruzione composta con classe di archiviazione extern.La dichiarazione fa riferimento a una variabile o una funzione esterna definita altrove.
variabili dichiarate in un blocco con autoidentificatori o il registro la parola chiave viene riallocata e, se necessario, viene inizializzata ogni volta che l'istruzione composto è inserito.Queste variabili non sono definite dopo l'istruzione composto è disconnesso.Se una variabile dichiarasse in un blocco ha statico l'attributo, la variabile viene inizializzato quando l'esecuzione del programma inizia e mantiene il valore in qualsiasi programma.vedere classi di archiviazione per informazioni su statico.
In questo esempio viene illustrato un'istruzione composta:
if ( i > 0 )
{
line[i] = x;
x++;
i--;
}
In questo esempio, si i è maggiore di 0, tutte le istruzioni nell'istruzione composto viene eseguito in sequenza.