(0) exportieren Drucken
Alle erweitern
Dieser Artikel wurde manuell übersetzt. Bewegen Sie den Mauszeiger über die Sätze im Artikel, um den Originaltext anzuzeigen. Weitere Informationen
Übersetzung
Original

goto und bezeichnete Anweisungen (C)

Die Anweisung goto übertragt die Steuerung an eine Bezeichnung. Die angegebene Bezeichnung muss sich in derselben Funktion befinden und kann nur vor einer Anweisung in derselben Funktion stehen.

statement:

labeled-statement

jump-statement

Sprunganweisung:

goto -Bezeichner ;

labeled-statement:

Bezeichner : -Anweisung

Eine Anweisungsmarke ist nur für eine goto-Anweisung sinnvoll. In jedem anderen Kontext wird eine bezeichnete Anweisung ohne Berücksichtigung der Bezeichnung ausgeführt.

Ein jump-statement muss sich in derselben Funktion befinden und kann nur vor einer Anweisung in derselben Funktion stehen. Der Satz der Bezeichnernamen, die auf goto folgen, verfügt über einen eigenen Namespace, sodass die Namen nicht mit anderen Bezeichnern in Konflikt treten. Bezeichnungen können nicht erneut deklariert werden. Weitere Informationen finden Sie unter Namespaces.

Zur Programmierung empfiehlt es sich, die break-, continue- und return-Anweisung der goto-Anweisung vorzuziehen, wann immer dies möglich ist. Da die break-Anweisung nur eine Ebene der Schleife beendet, ist möglicherweise eine goto-Anweisung erforderlich, um die Schleife aus einer tief verschachtelten Schleife heraus zu beenden.

In diesem Beispiel wird die goto-Anweisung veranschaulicht.

// 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 );
}

In diesem Beispiel übergibt eine goto-Anweisung das Steuerelement an den Punkt mit der Bezeichnung stop, wenn i gleich 5 ist.

Community-Beiträge

HINZUFÜGEN
Anzeigen:
© 2014 Microsoft