Sdílet prostřednictvím


Složený příkaz (C)

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-listopt opt statement-list }

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í.

Viz také

Výkazy