Obor a viditelnost
Určuje identifikátor uživatele "viditelnost" části programu, ve kterém lze odkazovat – "oboru". Je zobrazen identifikátor (tj, lze použít) pouze v části program patřících do jeho "oboru,", které může být omezena (v pořadí stoupajících restrictiveness) do souboru, funkce, blok nebo funkce prototypu je zobrazen.Rozsah identifikátor je součástí programu lze název.Se někdy nazývá "lexikální obor." Existují čtyři druhy obor: funkce, soubor, blok a funkce prototypu.
Všechny identifikátory, s výjimkou štítků mají jejich oblast působnosti, stanoví úroveň, při které dojde k prohlášení.Viditelnost identifikátorů programu platí následující pravidla pro každý druh oboru:
Soubor oboru
Declarator nebo specifikátor typu pro identifikátor s rozsahem souboru zobrazí mimo jakékoli bloku nebo seznam parametrů a po jeho prohlášení je přístupné z jakéhokoli místa v jednotce překlad.Názvy identifikátorů s rozsahem souboru jsou často nazývány "globální" nebo "externí". Rozsah globální identifikátor začíná v místě z jeho definice nebo prohlášení a končí na konci převodu jednotky.Rozsah funkce
Popisek je jediný druh identifikátor, který má rozsah funkce.Popisek je implicitně deklarován pomocí v příkazu.Názvy štítků musí být jedinečné v rámci funkce.(Další informace o popisek názvy a popisky, viz označené příkazy a goto.)Rozsah blok
Uvnitř bloku nebo v seznamu formálních parametrů prohlášení v definici funkce, zobrazí se declarator nebo specifikátor typu pro identifikátor s rozsahem bloku.Je viditelná pouze z bodu jeho prohlášení nebo definice na konec bloku obsahující jeho prohlášení nebo definice.Jeho rozsah je omezen na bloku a v tomto bloku vnořené bloky a končí u složenou závorkou, které zavře přidružené bloku.Tyto identifikátory jsou někdy označovány jako "místní proměnné."Rozsah funkce prototypu
Declarator nebo specifikátor typu pro identifikátor s rozsahem prototyp funkce se zobrazí v seznamu prohlášení parametr ve funkci prototypu (není součástí deklarace funkce).Jeho rozsah ukončeno na konci funkce declarator.
Příslušné prohlášení pro zviditelnění proměnné v další zdrojové soubory, které jsou popsány v Třídy úložiště.Však funkce a proměnné deklarovat na externí úrovni statické specifikátoru třídy úložiště jsou viditelné pouze v rámci zdrojového souboru, ve kterém jsou definovány.Všechny funkce jsou globálně viditelné.