Sdílet prostřednictvím


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

V deklaraci funkce můžete použít static specifikátor třídy úložiště nebo extern . Funkce mají vždy globální životnost.

Specifické pro Microsoft

Deklarace funkce na vnitřní úrovni mají stejný význam jako deklarace funkce 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.

END – Specifické pro Microsoft

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

  • Funkce deklarovaná jako je static viditelná pouze ve zdrojovém souboru, ve kterém je definována. Funkce ve stejném zdrojovém static souboru mohou funkci volat, ale funkce v jiných zdrojových souborech k ní nemají přímý přístup podle názvu. Můžete deklarovat jinou static funkci se stejným názvem v jiném zdrojovém souboru bez konfliktu.

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

  • Deklarace funkce, které vynechávají specifikátor třídy úložiště, jsou ve výchozím nastavení deklarovány jako extern.

Specifické pro Microsoft

Microsoft umožňuje předefinovat extern identifikátor jako static.

END – Specifické pro Microsoft

Viz také

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