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 optDeklaracja Specyfikatory specyfikatora typu opt
Typ kwalifikatora deklaracji Specyfikatory opt
Specyfikator klasy magazynowania: / * definicje funkcji * /
externstatyczne
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