Specyfikatory klasy magazynowania z deklaracjami funkcji
Specyfikator klasy magazynu można użyć static
extern
w deklaracjach funkcji lub . Funkcje zawsze mają globalne okresy istnienia.
Specyficzne dla firmy Microsoft
Deklaracje funkcji na poziomie wewnętrznym mają takie samo znaczenie jak deklaracje funkcji na poziomie zewnętrznym. Oznacza to, że funkcja jest widoczna z punktu deklaracji w pozostałej części jednostki tłumaczenia, nawet jeśli jest zadeklarowana w zakresie lokalnym.
END Microsoft Specific
Reguły widoczności funkcji różnią się nieznacznie od reguł zmiennych w następujący sposób:
Zadeklarowana funkcja jest
static
widoczna tylko w pliku źródłowym, w którym jest zdefiniowana. Funkcje w tym samym pliku źródłowym mogą wywoływaćstatic
funkcję, ale funkcje w innych plikach źródłowych nie mogą uzyskiwać do niej dostępu bezpośrednio według nazwy. Możesz zadeklarować innąstatic
funkcję o tej samej nazwie w innym pliku źródłowym bez konfliktu.Funkcje zadeklarowane jako
extern
są widoczne we wszystkich plikach źródłowych w programie (chyba że później zostanie ponownie zadeklarowana taka funkcja jakstatic
). Dowolnaextern
funkcja może wywołać funkcję.Deklaracje funkcji pomijające specyfikator klasy magazynu są
extern
domyślnie.
Specyficzne dla firmy Microsoft
Firma Microsoft umożliwia ponowne zdefiniowanie identyfikatora extern
jako static
.
END Microsoft Specific