Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
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.