Поделиться через


Квалификаторы типов

Квалификаторы типов имеет одно из свойств с идентификатором 2. Const квалификатор типа объявляется объект, чтобы быть неизменяемым.volatile квалификатор типа объявляет элемент, значение которого правомерно что-то может быть изменено, за элементом управления программы, в которой оно отображается, как синхронно при выполнении потока.

Квалификатор типа 2 Const и volatileможет появляться только один раз в объявление.Квалификаторы типов могут использоваться с любым другим описателем типа; однако они не могут появляться после первой запятой в нескольких объявлении элемента.Например, следующие объявления законны:

typedef volatile int VI;
const int ci;

Эти объявления не законны:

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

Квалификаторы типа, относящиеся только к идентификаторов в качестве левостороннего значения в выражении.См. Левостороннего значения выражения и значения r дополнительные сведения о l-значениях и выражениях.

Синтаксис

  • тип-квалификатор.
    constvolatile

Следующие законны Const и volatile объявления:

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        */

Если спецификация типа массива включает квалификаторы типов, уточняется элемента, а не тип массива.Если спецификация типа функций включает квалификаторы, расширение функциональности не определено.Ни одного volatile ни Const влияет на диапазон значений или свойств арифметики объекта.

Этот список содержит описание использования Const и volatile.

  • Const ключевое слово может использоваться для изменения любого базового типа или статистического или указатель на объект любого типа, либо a typedef.Если элемент объявлен только с Const введите квалификатор, его тип имеет как const int.A Const переменную можно инициализировать или может быть размещена в доступном только для чтения области хранения.Const ключевое слово полезно для объявления указатели Const поскольку это требует функция изменяет указатель в любом случае.

  • Компилятор предполагает, в любой точке в программе, a volatile переменная может обращаться неизвестным процессом, использующий или изменяет его значение.Следовательно, независимо от оптимизаций, заданных в командной строке для каждого назначения в коде или ссылки a volatile переменная должна быть создавать даже если она кажется, что оказывает никакого влияния.

    If volatile использовать отдельно, int принимает.volatile описатель типа можно использовать, чтобы обеспечить надежный доступ к специальным участкам памяти.Используйте volatile с объектами данных, которые могут быть доступны или изменении обработчиками входе, одновременно выполнения программы или специальным оборудованием, как регистры элемента управления MMIO.Можно объявить переменную как volatile для своего времени существования или можно привести одна ссылка на volatile.

  • Элемент может быть как Const и volatileв этом случае элемент не может быть изменен правомерно своей собственной программой, но может быть изменено некоторым асинхронным процессом.

См. также

Основные понятия

Объявления и типы