Compartilhar via


GoTo e instruções rotuladas (C)

O goto instrução transfere o controle para um rótulo.O nome fornecido deve residir na mesma função e pode aparecer antes de apenas uma instrução na mesma função.

Sintaxe

  • instrução:
    instrução rotulada

    instrução de salto

  • instrução de salto:
    goto identifier ;

  • instrução rotulada:
    identificador : instrução

Um rótulo de instrução é significativo apenas para um goto instrução; em qualquer contexto, uma instrução rotulada é executada sem considerar ao rótulo.

A declaração de salto devem residir na mesma função e pode aparecer antes de apenas uma instrução na mesma função.O conjunto de identificador os seguintes nomes um goto tem seu próprio espaço de nome, para que os nomes não interferem em outros identificadores.Rótulos não podem ser declarado novamente.Consulte Espaços para nome para obter mais informações.

É bom o estilo a ser usado de programação o quebra, continuar, e return a instrução em preferência a goto sempre que possível.Desde que o quebra instrução só sai de um nível do loop, uma goto pode ser necessário para sair de um loop de dentro de um loop profundamente aninhado.

Este exemplo demonstra o goto instrução:

// goto.c
#include <stdio.h>

int main()
{
    int i, j;

    for ( i = 0; i < 10; i++ )
    {
        printf_s( "Outer loop executing. i = %d\n", i );
        for ( j = 0; j < 3; j++ )
        {
            printf_s( " Inner loop executing. j = %d\n", j );
            if ( i == 5 )
                goto stop;
        }
    }

    /* This message does not print: */
    printf_s( "Loop exited. i = %d\n", i );

    stop: printf_s( "Jumped to stop. i = %d\n", i );
}

Neste exemplo, um goto instrução transfere o controle para o ponto de chamada stop quando i é igual a 5.

Consulte também

Conceitos

Instruções (C)