Udostępnij za pośrednictwem


Instrukcja złożona (C)

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

Składnia

compound-statement:
{declaration-listopt opt opt statement-list }

declaration-list:
declaration
declaration-list declaration

statement-list:
statement
statement-list statement

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

Identyfikatory w instrukcji złożonej są zakładane auto , chyba że jawnie zadeklarowane inaczej z register, staticlub extern, z wyjątkiem funkcji, które mogą być externtylko . Specyfikator można pozostawić extern w deklaracjach funkcji, a funkcja będzie nadal .extern

Magazyn nie jest przydzielany i inicjowanie nie jest dozwolone, jeśli zmienna lub funkcja jest zadeklarowana w instrukcji złożonej z klasą externmagazynu . Deklaracja odwołuje się do zmiennej zewnętrznej lub funkcji zdefiniowanej gdzie indziej.

Zmienne zadeklarowane w bloku ze auto słowem kluczowym lub register są ponownie przydzielane i w razie potrzeby inicjowane za każdym razem, gdy zostanie wprowadzona instrukcja złożone. Te zmienne nie są już zdefiniowane po zakończeniu instrukcji złożonej. Jeśli zmienna zadeklarowana wewnątrz bloku ma static atrybut, zmienna jest inicjowana po rozpoczęciu wykonywania programu i zachowuje jego wartość w całym programie. Zobacz Klasy magazynu, aby uzyskać informacje o static.

W tym przykładzie przedstawiono instrukcję złożoną:

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

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

Zobacz też

Zestawienia