Udostępnij za pośrednictwem


Instrukcja złożona (C)

Instrukcja złożona (zwana również "blokiem") zazwyczaj pojawia się jako treść innej instrukcji, takiej jak instrukcja if.Deklaracje i typy opisują formę i znaczenie deklaracji, które mogą pojawić się na czele złożonej instrukcji.

Składnia

  • compound-statement:
    { declaration-list optstatement-listopt**}**

  • declaration-list:
    deklaracja

    declaration-list declaration

  • statement-list:
    statement:

    statement-list statement

Jeśli istnieją deklaracje, muszą pojawić się przed jakąkolwiek instrukcją.Zakres każdego identyfikatora zadeklarowanego na początku instrukcji złożonej rozciąga się od punktu jego deklaracji do końca bloku.Jest widoczny w całym bloku, chyba że istnieje deklaracja takiego samego identyfikatora w wewnętrznym bloku.

Zakłada się, że identyfikatory w instrukcji złożonej posiadają atrybut auto chyba że zostaną jawnie zadeklarowane w inny sposób z register, static, lub extern, z wyjątkiem funkcji, które mogą być tylko extern.Nie trzeba deklarować specyfikatora extern w deklaracji funkcji a funkcje nadal będą extern.

Miejsce w magazynie nie jest przydzielane a inicjowanie nie jest dozwolone, jeśli zmienna lub funkcja została zadeklarowana w instrukcji złożonej z klasą magazynowania extern.Deklaracja odnosi się do zewnętrznych zmiennych lub funkcji zdefiniowanych w innych miejscach.

Zmienne zadeklarowane w bloku ze słowem kluczowym auto lub register są ponownie przydzielane i, jeśli konieczne, inicjowane za każdym razem kiedy wywoływana jest instrukcja złożona.Te zmienne nie są definiowane, po zakończeniu instrukcji złożonej.Jeśli zmienna zadeklarowana wewnątrz bloku ma atrybut static, zmienna jest inicjowana, gdy rozpoczyna się wykonywanie programu i zachowuje swoją wartość w całym programie.Zobacz Klasy magazynowania, aby uzyskać informacje dotyczące static.

Ten przykład ilustruje instrukcję złożoną:

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

W tym przykładzie jeśli i jest większe od 0, wszystkie instrukcje wewnątrz instrukcji złożonej są wykonywane w kolejności.

Zobacz też

Koncepcje

Instrukcje (C)