Partilhar via


Declaração composta (C)

Uma instrução composta (também chamada de "bloco") normalmente aparece como o corpo de outra instrução, como a if instrução. Declarações e Tipos descreve a forma e o significado das declarações que podem aparecer no cabeçalho de uma instrução composta.

Sintaxe

compound-statement:
{ declaration-list statement-list optar poroptar por}

declaration-list:
declaration
declaration-list declaration

statement-list:
statement
statement-list statement

Se houver declarações, elas devem vir antes de quaisquer declarações. O escopo de cada identificador declarado no início de uma instrução composta se estende de seu ponto de declaração até o final do bloco. É visível em todo o bloco, a menos que exista uma declaração do mesmo identificador em um bloco interno.

Os identificadores em uma instrução composta são presumidos auto , a menos que explicitamente declarado de outra forma com register, staticou extern, exceto funções, que só podem ser extern. Você pode deixar o extern especificador em declarações de função e a função ainda será extern.

O armazenamento não é alocado e a inicialização não é permitida se uma variável ou função for declarada em uma instrução composta com classe externde armazenamento. A declaração refere-se a uma variável ou função externa definida em outro lugar.

As variáveis declaradas em um bloco com a auto palavra-chave or register são realocadas e, se necessário, inicializadas cada vez que a instrução composta é inserida. Essas variáveis não são mais definidas depois que a instrução composta é encerrada. Se uma variável declarada dentro de um bloco tiver o static atributo, a variável será inicializada quando a execução do programa começar e manterá seu valor em todo o programa. Consulte Classes de armazenamento para obter informações sobre statico .

Este exemplo ilustra uma instrução composta:

if ( i > 0 )
{
    line[i] = x;
    x++;
    i--;
}

Neste exemplo, se i for maior que 0, todas as instruções dentro da instrução composta serão executadas em ordem.

Ver também

Instruções