Sdílet prostřednictvím


Typ kvalifikátory

Typ kvalifikátory jednu dvě vlastnosti přidělit identifikátor.Const typ kvalifikátoru prohlašuje objekt, který má být nonmodifiable.volatile Typ kvalifikátoru prohlašuje položky, jejichž hodnota může oprávněně změnit něco mimo kontrolu programu, ve kterých se vyskytuje, například souběžně vykonávajícího podproces.

Zadejte dva kvalifikátory, b a volatile, se mohou objevit pouze jednou v prohlášení.Typ kvalifikátory mohou objevit žádné specifikátor typu; však nemůže objevit po první čárkou ve více prohlášení zboží.Právní jsou například následující prohlášení:

typedef volatile int VI;
const int ci;

Tato prohlášení nejsou právní:

typedef int *i, volatile *vi;
float f, const cf;   

Typ kvalifikátory jsou relevantní pouze v případě, že přístup k identifikátory jako l hodnoty ve výrazech.Viz l hodnota a hodnota výrazy informace o výrazech a l hodnoty.

Syntaxe

  • typ kvalifikátoru:
    constvolatile

Jsou právní const a volatile prohlášení:

int const *p_ci;       /* Pointer to constant int */
int const (*p_ci);     /* Pointer to constant int */
int *const cp_i;       /* Constant pointer to int */
int (*const cp_i);     /* Constant pointer to int */
int volatile vint;     /* Volatile integer        */

Pokud specifikace typu pole obsahuje typ kvalifikátory, prvek je kvalifikován, typu pole.Určení typu funkce zahrnuje kvalifikátory, chování nedefinovaná.Ani volatile ani const ovlivňuje aritmetické vlastnosti objektu nebo rozsah hodnot.

Tento seznam popisuje použití const a volatile.

  • Const klíčové slovo lze použít libovolný typ základních nebo souhrnné nebo ukazatel na objekt jakéhokoliv typu, změnit nebo typedef.Pokud položka je deklarována s pouze const typ kvalifikátoru její typ se rozumí const int.A b proměnnou můžete inicializovat nebo mohou být umístěny v oblasti skladování pouze pro čtení.Const klíčové slovo je užitečné pro deklarování ukazatele na const od vyžaduje funkce změnit ukazatel žádným způsobem.

  • Kompilátor předpokládá, že kdykoli v programu volatile neznámý proces používá nebo upraví hodnotu proměnné přístupné.Proto bez ohledu na optimalizaci na příkaz řádek kódu u jednotlivých přiřazení nebo odkaz volatile proměnné musí být generovány i v případě, že má vliv.

    Pokud volatile je použit samostatně, int se předpokládá.volatile Specifikátor typu lze poskytnout spolehlivý přístup k zvláštní paměťových míst.Použití volatile s datové objekty, které mohou získat přístup nebo pozměněné obslužné rutiny signál souběžně vykonávaných programy nebo speciální hardware, jako například mapované paměti Registry ovládání v/V.Deklarujete proměnnou jako volatile pro jeho životnosti, nebo můžete obsadit jeden odkaz na volatile.

  • Položka může být i const a volatile, v případě zboží nelze měnit legitimně vlastní program, ale změnil některé asynchronní proces.

Viz také

Koncepty

Prohlášení a typy