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


Классы хранения C#

"Класс хранения" переменной определяет, имеет ли элемент "global" или "local" время существования.C# вызывает эти 2 времени существования "статический" и "автоматическим." Элемент с глобальным временем существования существует и имеет значение во время выполнения программы.Все функции имеют глобальные время существования.

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

Описатели хранени-класса c# предоставляет следующие:

Синтаксис

  • storage-class-specifier.
    Авто

    регистр

    static

    extern

    typedef

    __declspec ( продленн-рассекречивани-модификатор-seq конкретные/* */) (Майкрософт)

Except __declspecможно использовать только одну storage-class-specifier в описатель объявления в объявлении.Если спецификация хранени-класса не выполняется, то объявления внутри блока создать автоматические объекты.

Элементы, объявленные с Авто OR регистр описатель имеет локальные время существования.Элементы, объявленные с Статический OR extern описатель содержит глобальные время существования.

с тех пор typedef и __declspec семантически отличается от других 4 storage-class-specifier стержни, они рассматриваются отдельно.Дополнительные сведения typedefсм. в разделах Объявлении Typedef.Дополнительные сведения __declspecсм. в разделах Дополнительные атрибуты класса хранения.

Расположение объявления переменных и функций в исходные файлы также влияет на класс и видимость хранения.Считается, что появляют объявления вне всех определений функций на "внешний уровень". Объявления в определениях функций отображаются на "внутренний слой".

Явная смысл зависит от каждого описателя хранени-класса 2 фактора:

  • Отображается ли объявление на внешний или внутренний уровень

  • Ли объявляемого элемента переменной или функция

описатели Хранени-Класса для объявлений Внешний-Уровня и описатели Хранени-Класса для объявлений Внутренн-Уровня описание storage-class-specifier стержни в каждом типе объявления и объясняется по умолчанию расширение функциональности, когда storage-class-specifier исключает из переменной.описатели Хранени-Класса с объявлениями функции обсуждается, используемые описатели хранени-класса с функциями.

См. также

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

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