Sdílet prostřednictvím


Specifikátory třídy úložiště s deklaracemi funkce

V deklaracích funkcí lze použít buď specifikátor paměťové třídy static nebo extern.Funkce mají vždy globální životnost.

Specifické pro Microsoft

Deklarace funkce na vnitřní úrovni mají stejný význam jako deklarace funkcí na vnější úrovni.To znamená, že funkce je viditelná z místa deklarace ve zbytku jednotky překladu i v případě, že je deklarována v místním oboru.

Specificka produktu Microsoft END

Pravidla viditelnosti pro funkce se mírně liší od pravidel pro proměnné, takto:

  • Funkce deklarovaná jako static je viditelná pouze v rámci zdrojového souboru, ve kterém je definována.Funkce ve stejném zdrojovém souboru mohou volat statické funkce, ale funkce v jiných zdrojových souborech k nim nemohou přistupovat přímo podle názvu.Lze deklarovat jinou statickou funkci se stejným názvem v odlišném zdrojovém souboru bez konfliktu.

  • Funkce deklarované jako extern jsou viditelné ve všech zdrojových souborech v programu (pokud je později nepředeklarujete jako static).Jakákoli funkce může volat funkci deklarovanou jako extern.

  • Deklarace funkce, které vynechávají specifikátor paměťové třídy jsou deklarovány jako extern ve výchozím nastavení.

Specifické pro Microsoft

Společnost Microsoft umožňuje předefinovat identifikátor deklarovaný jako extern na static.

Specificka produktu Microsoft END

Viz také

Referenční dokumentace

Třídy úložiště jazyka C