Udostępnij za pośrednictwem


Klasy magazynu

Specyfikator klasy magazynowania w definicji funkcji daje funkcję albo extern lub statyczne klasy magazynowania.

Składnia

  • Definicja funkcji:
    Specyfikatory deklaracji optseq atrybutu optlisty deklaracji; niewłaściwy deklarator optmieszanek oświadczenie

    / * seq atrybutu jest programu Microsoft * /

  • Specyfikatory deklaracji:
    Specyfikator klasy magazynowania deklaracji Specyfikatory opt

    Deklaracja Specyfikatory specyfikatora typu opt

    Typ kwalifikatora deklaracji Specyfikatory opt

  • Specyfikator klasy magazynowania: / * definicje funkcji * /
    extern

    statyczne

Jeśli nie zawiera definicji funkcji Specyfikator klasy magazynowania, wartość domyślna klasy magazynowania extern.Jawnie można zadeklarować funkcję jako extern, ale nie jest wymagane.

Jeśli deklaracja funkcji zawiera Specyfikator klasy magazynowaniaextern, identyfikator ma ten sam powiązanie jako wszelkie widoczne zgłoszenia identyfikator z zakresu pliku. Jeśli nie widoczne deklaracji z zakresu pliku identyfikator ma powiązania zewnętrznych.Jeśli identyfikator ma zakres pliku i nie Specyfikator klasy magazynowania, identyfikator ma powiązania zewnętrznych.Połączenie zewnętrznych oznacza, że każde wystąpienie identyfikatora oznacza ten sam obiekt lub funkcja.Zobacz okres istnienia, zakres, widoczność i powiązania Aby uzyskać więcej informacji na temat zakresu powiązania i pliku.

Zakres bloku deklaracje funkcji z Specyfikator klasy magazynu innych niż extern generować błędy.

Funkcja z statyczne storage class jest widoczny tylko w pliku źródłowym, w którym jest zdefiniowana.Wszystkie inne funkcje, czy podane są extern storage class jawnie lub niejawnie, są widoczne w całym wszystkie źródłowe pliki w programie.Jeśli statyczne storage class jest pożądane, to musi być zadeklarowany jako pierwszego wystąpienia (jeśli ma zastosowanie) deklarację funkcji i definicji funkcji.

Programu Microsoft

Po włączeniu rozszerzeń Microsoft funkcji pierwotnie zgłoszone bez klasy magazynu (lub z extern storage class) jest podana statyczne klasy magazynowania, jeśli definicja funkcji znajduje się w tym samym pliku źródłowego i definicję jawnie określa statyczne klasy magazynowania.

Podczas kompilacji z opcją kompilatora /Ze, funkcje zadeklarowana wewnątrz bloku za pomocą extern słowa kluczowego ma globalnych widoczności.Nie jest to prawdą podczas kompilacji z /Za.Ta funkcja nie można polegać na, jeśli przenośności kodu źródłowego jest zbyt duży.

KONIEC Microsoft szczególne

Zobacz też

Informacje

C definicje funkcji