Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Složený příkaz (označovaný také jako blok) se obvykle zobrazuje jako tělo jiného příkazu, například příkaz if .
Deklarace a typy popisují tvar a význam deklarací, které se mohou objevit v hlavě složeného příkazu.
Syntaxe
compound-statement:
{
declaration-list
volitstatement-listvolit}
declaration-list:
declaration
declaration-list
declaration
statement-list:
statement
statement-list
statement
Pokud existují deklarace, musí předcházet jakýmkoli příkazům. Rozsah každého identifikátoru deklarovaného na začátku složeného příkazu se vztahuje od jeho deklarace k bodu na konec bloku. Je viditelný v celém bloku, pokud ve vnitřním bloku neexistuje deklarace stejného identifikátoru.
Identifikátory ve složeného příkazu se považují za předpokladu auto , že nejsou výslovně deklarovány jinak s register, staticnebo externs výjimkou funkcí, které mohou být externpouze . Specifikátor můžete nechat extern v deklaracích funkcí a funkce bude stále extern.
Úložiště není přiděleno a inicializace není povolena, pokud je proměnná nebo funkce deklarována ve složeného příkazu s třídou externúložiště . Deklarace odkazuje na externí proměnnou nebo funkci definovanou jinde.
Proměnné deklarované v bloku s klíčovým slovem auto nebo register klíčovým slovem jsou relokovány a v případě potřeby inicializovány při každém zadání složeného příkazu. Po ukončení složeného příkazu se tyto proměnné už nedefinují. Pokud má proměnná deklarovaná uvnitř bloku static atribut, proměnná se inicializuje při zahájení provádění programu a udržuje její hodnotu v celém programu. Informace o službě Storage Classes naleznete v statictématu Třídy úložiště .
Tento příklad znázorňuje složený příkaz:
if ( i > 0 )
{
line[i] = x;
x++;
i--;
}
Pokud je v tomto příkladu i větší než 0, spustí se všechny příkazy uvnitř složeného příkazu v pořadí.