Udostępnij za pośrednictwem


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 jak static). Dowolna extern 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

Zobacz też

Klasy magazynu w języku C