Tw-city.info

IT Новости
42 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Что такое инициализация в программировании

Инициализация (программирование) — Initialization (programming)

В компьютерном программировании , инициализация является присвоение начального значения для объекта данных или переменной. Порядок , в котором выполняется инициализация зависит от языка программирования , а также тип, класс хранения и т.д., объекта , который должен быть инициализирован. Программирование конструкции , которые выполняют инициализацию , как правило , называются инициализаторами и списки инициализатора . Инициализация отличается от (и предшествует) Декларация , хотя два иногда может быть сплавлены на практике. Дополнение инициализации является финализацией , который в основном используется для объектов, но не переменные.

Инициализация осуществляется либо статический встраиванием значения во время компиляции, либо путем назначения в время выполнения . Часть кода , который выполняет такую инициализацию , как правило , известны как «код инициализации» и может включать в себя другие, одноразовые только, такие функции, как открытие файлов; в объектно-ориентированном программировании , код инициализации может быть частью конструкторы (метод класса) или инициализатор (метод экземпляра). Настройка расположения памяти в шестнадцатеричные ноли также иногда называют «поляной» и часто выполняемая исключающим или инструкцией (оба операнда с указанием того же переменный), в машинном коде уровня, так как он не требует никакого дополнительного доступа к памяти.

содержание

C семейство языков

Initializer

В C / C99 / C ++, инициализатор является необязательной частью описателя . Он состоит из «=» символ , за которым следует выражение или разделенный запятыми список выражений , помещенных в фигурные скобки (брекет). Последний список иногда называют «список инициализации» или «список инициализации» (хотя термин «список инициализатор» официально зарезервирован для инициализации членов класса / структуры в C ++, смотри ниже ). Заявление , которая включает в себя инициализацию обычно называют определением .

Многие считают , что удобно проводить различие между терминами «декларацией» и «определением», как в часто видели фразу «различие между декларацией и определением . », подразумевая , что объявление просто обозначает объект данных (или функции ). На самом деле, согласно стандарту C ++ , определение является декларация. Тем не менее, использование «заявления и определения», хотя формально неправильно, является распространенным явлением.

список Initializer

В С ++ конструктор из класса / структуры могут иметь список инициализатора в рамках определения , но до тела конструктора. Важно отметить , что при использовании списка инициализации, значения не присваивается переменной. Они инициализируются. В приведенном ниже примере, 0 инициализируется в ре и им. Пример:

Здесь конструкция : re(0), im(0) список инициализатора.

Иногда термин «список инициализатора» также используется для обозначения списка выражений в массиве или структуру инициализаторе.

C ++ 11 обеспечивает более мощную концепцию списков инициализаторов , с помощью шаблона, называется станд :: initializer_list .

инициализация по умолчанию

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

Инициализация

Инициализация (от англ. initialization, инициирование) — создание, активация, подготовка к работе, определение параметров. Приведение программы или устройства в состояние готовности к использованию. [1]

Термин употребляется как для программных, так и для аппаратных средств.

Действие инициализации направлено извне по отношению к инициализируемому объекту (программе, устройству) и необходимо для определения параметров и правил работы с ним.

Примеры

  • Инициализация подсистемы печати для вывода на принтер. Перед печатью необходимо определить, на каком устройстве будет произведена печать и учесть особенности работы с ним (поддерживаемый формат печати, максимально возможное разрешение, возможность использования цвета и т. п.). Для этого устройство активируют (подача питания, управляющий сигнал), запрашивают возможные параметры работы или «сканируют» устройство для определения его возможностей, и значения этих параметров используют для первоначальной настройки подсистемы печати, чтоб она могла предложить пользователю варианты печати, соответствующие его оборудованию.
  • Инициализация программы заключается в задании начальных значений или установке в нуль программных переменных (адресов, счетчиков, переключателей, указателей и т. п.) перед выполнением программы. Во многих языках программирования имеются средства определения начальных значений при первом описании переменной.
  • Инициализация магнитного диска «винчестера» включает его форматирование и запись управляющей информации (метки тома, описателей дорожек и т. п.).

См. также

Примечания

  • Найти и оформить в виде сносок ссылки на авторитетные источники, подтверждающие написанное.
  • Дополнить статью (статья слишком короткая либо содержит лишь словарное определение).

Wikimedia Foundation . 2010 .

Смотреть что такое «Инициализация» в других словарях:

инициализация — инициирование Словарь русских синонимов. инициализация сущ., кол во синонимов: 2 • инициирование (4) • … Словарь синонимов

инициализация — Приведение областей памяти в состояние, исходное для последующей обработки или размещения данных. [ГОСТ 19781 90] инициализация Присваивание начальных значений переменным программы [ГОСТ 28397 89] Тематики обеспеч. систем обраб. информ.… … Справочник технического переводчика

Инициализация — 37. Инициализация Initialize Присваивание начальных значений переменным программы Источник: ГОСТ 28397 89: Языки программирования. Термины и определения оригинал документа 3. Инициализация Приведен … Словарь-справочник терминов нормативно-технической документации

инициализация — iniciacija statusas T sritis automatika atitikmenys: angl. initialization; initializing; initiating; initiation vok. Initialisieren, n; Initialisierung, f rus. инициализация, f; инициирование, n; присваивание начального значения, n pranc.… … Automatikos terminų žodynas

инициализация — инициализ ация, и … Русский орфографический словарь

инициализация — (1 ж), Р., Д., Пр. инициализа/ции … Орфографический словарь русского языка

инициализация — Элктроникада: программага башлангыч параметрлар бирү … Татар теленең аңлатмалы сүзлеге

Читать еще:  Ошибка 0 80004005

инициализация — инициал/из/аци/я [й/а] … Морфемно-орфографический словарь

инициализация (периферийного устройства) — Операция, необходимая для установки периферийного устройства в исходное положение и выполняемая до начала использования носителя данных или начала реализации процесса. [Е.С.Алексеев, А.А.Мячев. Англо русский толковый словарь по системотехнике ЭВМ … Справочник технического переводчика

инициализация (спутникового приемника) — Процедура измерений для предварительного разрешения неоднозначности перед началом спутниковых определений в кинематическом режиме. [РТМ 68 14 01] Тематики спутниковая технология геодезических работ Обобщающие термины методы спутниковых… … Справочник технического переводчика

Инициализация — что такое? Приведение программы или устройства в состояние готовности к использованию

Многие пользователи компьютерной и мобильной техники достаточно часто сталкиваются с термином «инициализация». Что такое инициализация, в основном мало кто себе представляет. Поэтому стоит попытаться восполнить этот пробел в знаниях, приведя конкретные примеры.

Инициализация – что такое в общем понимании

Под инициализацией, исходя из трактовок, предлагаемых множеством уважаемых интернет-ресурсов, подразумевается определение параметров или конфигурации, подготовка к работе, процессы активации и т. д. Иногда этот термин обозначается еще как инициация, но его толкование больше соответствует созданию, запуску или старту чего-то.

Инициализация, как некий процесс определения заданных параметров или их значений, в равной степени может применяться и к программным, и к аппаратным компонентам компьютерной системы.

Для чего нужна инициализация, что такое инициализация в каждом конкретном случае, можно понять на простейших ситациях. Например, пользователь решил поменять себе винчестер, купил новый, установил в компьютер, а он не работает. Почему? Да только потому, что система автоматически не может определить его рабочие параметры, то есть, грубо говоря, не понимает, как с ним работать. Вот тут и требуется инициализация диска, чтобы ОС, так сказать, восприняла его характеристики и могла определить методику обращения к нему. Об этом будет рассказано подробно.

Основные направления инициализации

Среди основных или даже приоритетных направлений, которые подразумеваются инициализацией, в большинстве случаев выделяют следующие:

  • инициализация программ и приложений всех типов;
  • инициализация жестких дисков;
  • инициализация специальной подсистемы печати;
  • инициализация модемов на мобильных устройствах.

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

Поэтому, особо не вдаваясь в технические особенности процессов, остановимся на каждом конкретном случае отдельно.

Каким образом происходит инициализация программы

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

Например, для ассемблерных программ, представленных в большинстве случаев исполняемыми файлами форматов COM и EXE, процесс инициализации состоит из четырех основных этапов:

  • указание на то, какие именно сегментные регистры должны соответствовать определенным сегментам;
  • сохранение адреса регистра DS в стеке при старте исполнения программы;
  • запись в стек нулевого адреса;
  • загрузка в DS-регистр адреса сегмента.

При обработке соответствующих массивов данных процесс имеет циклический характер, когда значения в массив, начинающийся с переменной со значением 0 или 1, попадают только после прохождения полного цикла и по мере выполнения приложения. И циклов может быть ровно столько, сколько переменных содержит весь массив.

Вопросы инициализации жестких дисков

С инициализацией винчестеров дело обстоит несколько проще. Некоторые источники утверждают, что суть процесса сводится к форматированию. Это не так.

Инициализация диска на начальной стадии, если использовать средства Windows-систем, производит определение нового раздела путем сопоставления атрибутов загрузочных записей (MBR или GPT).

Далее применяется процесс создания простого тома, указание действительного размера, присвоение литеры (чтобы система «увидела» диск), а только потом начинается форматирование с выбором соответствующей файловой системы (в большинстве случаев NTFS).

На этом этапе и завершается инициализация. Что такое инициализация в данном случае? Это комплекс мер по установке параметров винчестера, а не единичный процесс, как утверждают некоторые.

Подсистема печати

Для подсистемы печати процесс инициализации состоит в том, чтобы изначально определить, какое именно устройство будет использовано, а после подачи на него сигнала просканировать его возможности, включая установку возможного размера бумаги, применения определенного количества цветов, поддерживаемые форматы печати, максимальное разрешение и т. д.

Эти параметры и используются для установок подсистемы печати. Таким образом, приведенный в начальное состояние принтер будет работать корректно и без сбоев.

Инициализация на мобильных устройствах

Что касается мобильной техники, здесь зачастую используется так называемая строка инициализации, в которой прописываются значения параметров модемов при настройке подключения к интернету через мобильного оператора.

Как правило, вводимое значение всегда имеет один и тот же вид – AT+CGDCONT=1,»IP»,»Название оператора или его интернет-ресурс». Но это касается только тех случаев, когда предполагается производить выход в интернет на компьютере через модем подключаемого мобильного устройства.

Ошибки инициализации и методы их устранения

Наконец, стоит отметить, что во всех приведенных примерах может возникнуть ошибка инициализации. Что делать в такой ситуации? В случае с жесткими дисками или устройствами для съемных носителей самым простым выходом станет проверка подключений к материнской плате.

Читать еще:  Неопознанная ошибка 0x80004005 failed

В программах наиболее распространенным является сбой с кодом 0x0175dcbb (как, например, в игре Sims 3). В основном проблема касается конфликтов драйверов устройств, их отсутствия или некорректной установки, неработоспособности планок оперативной памяти и т. д. Иногда проблема может состоять в платформе .NET Framework, для которой нужно установить обновление. Возможно, сбой связан с повреждениями носителя, например, с которого запускается игра. В общем, мало ли что может приключиться. Но решение данной проблемы должно производиться на основе оценки самой ситуации и вызвавших сбой причин.

BestProg

Инициализация переменных в методах класса. Инициализация полей (членов данных) класса. Способы инициализации членов данных класса

Данная тема демонстрирует способы инициализации внутренних членов данных класса в языке программирования Java.

Содержание

1. Понятие инициализации переменных в методах в Java

Инициализация переменной означает явное (или неявное) установление некоторого значения переменной.

В языке программирования Java переменные, объявленные в методе, обязательно должны быть инициализированы перед их использованием.

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

Например. В нижеследующем фрагменте кода происходит попытка использовать переменную t , которая объявлена но не инициализирована

В этом случае выдается сообщение об ошибке:

Чтобы исправить ситуацию, нужно переменной t присвоить какое-то значение перед ее использованием.

2. Какие существуют способы инициализации членов данных класса?

В Java можно инициализировать переменную, если она является членом класса. Существует четыре способа инициализации членов данных класса:

  • инициализация по умолчанию (неявная инициализация);
  • явная инициализация начальными значениями (константными значениями);
  • явная инициализация методами класса;
  • инициализация с помощью конструкторов классов.
3. Инициализация полей данных класса. Что такое инициализация полей данных класса по умолчанию?

Если переменная есть членом данных класса, то эта переменная инициализируется значением по умолчанию при ее объявлении.

То есть, если есть класс в котором объявлены внутренние переменные (поля класса)

то эти переменные ( d , x ) будут инициализированы значением по умолчанию. В вышеприведенном коде переменным по умолчанию будут присвоены следующие значения

Не имеет значения, какой идентификатор доступа используется для переменной ( private , protected , public ) в классе.

4. Какие значения по умолчанию присваиваются полям класса для разных типов?

При объявлении переменной в некотором классе, этой переменной присваиваются значения по умолчанию. Ниже приведены значения по умолчанию, которые присваиваются переменным разных типов

Символьной переменной типа char присваивается нуль-символ, который отображается в виде символа «пробел».

5. Каким значением инициализируется переменная-ссылка на объект класса?

Если в классе объявляется переменная-ссылка на объект некоторого класса, то по умолчанию, значение этой ссылки равно null .

Нижеследующий фрагмент кода демонстрирует это.

В вышеприведенном примере переменная obj есть ссылкой (reference) на класс InnerClass . Другими словами obj это объект класса InnerClass . Поскольку, память для obj еще не выделена, то по умолчанию значение obj = null .

6. Явная инициализация. Каким образом осуществляется явная инициализация членов данных класса начальными значениями?

Явная инициализация означает установление начального (нужного) значения переменной при ее объявлении в классе.

Например. В классе MyClass реализована инициализация начальными значениями переменных разных типов.

В языках C/C++ такой способ инициализации не допускается.

7. Каким образом осуществляется явная инициализация членов данных класса, которые есть переменными-ссылками на класс

Если членом данных класса есть переменная-ссылка на некоторый класс (объект класса), то она инициализируется стандартным способом с помощью оператора new:

В классе MyClass переменная-ссылка obj перед ее использованием обязательно должна быть инициализирована оператором new . Если попробовать использовать неинициализированную переменную, которая есть ссылкой на класс, возникнет критическая ситуация (исключение).

8. Явная инициализация с помощью вызова методов. Каким образом инициализируется значение члена данных класса с помощью вызова метода?

При объявлении, члены данных класса могут быть инициализированы вызовом некоторого метода.

Например. Пусть задан класс CRadius . В классе CRadius инициализируются члены данных len, area, volume с помощью вызова методов Length() , Area() , Volume() . Эти методы вычисляют соответственно длину окружности, площадь круга и объем шара радиуса r , который есть входным параметром методов.

9. Какой порядок инициализации при объявлении переменных? Какое значение имеет порядок инициализации при объявлении переменных? Примеры

В классе переменные инициализируются в первую очередь. Инициализация переменных происходит даже перед вызовом конструктора класса. Порядок инициализации переменных определяется порядком их объявления в классе (см. пример 1). После инициализации переменных вызывается конструктор. При этом, объявление и инициализация переменных могут быть реализованы в любом месте класса (см. пример 2).

Как видно из программного кода в пункте 8, переменные объявляются в строго определенной последовательности, в которой значение инициализирующих переменных и методов (справа от операции присваивания) было определено на момент инициализации.

Пример 1. Пусть задан класс CInitOrderClass , в котором значение следующего члена данных инициализируется значением предшествующего члена данных или метода.

Если в классе изменить порядок объявления и инициализации, то может возникнуть ошибка. Например, если объявление переменной t4 поместить на самый верх объявлений членов данных класса:

то возникнет ошибка компиляции

Это логично, поскольку просмотр объявлений переменных происходит сверху-вниз (от начала до конца). На момент объявления переменной t4 , переменные t1 и t3 , которые принимают участие в инициализации, еще не объявлены. Это есть причиной возникновения ошибки.

Это не касается метода класса SomeMethod() , который может использоваться при инициализации в любом месте класса.

Читать еще:  Ошибка 043 и способ устранения

Пример 2. Данный пример демонстрирует правило, в котором любая внутренняя переменная класса (член данных класса) инициализируется первой, даже перед вызовом конструктора.

Пусть дана реализация класса COrderInit , в котором инициализируются три переменные a, b, c с помощью метода InitMethod() и с помощью конструктора COrderInit() .

Как видно из вышеприведенного кода, класс содержит функцию main() , в которой создается объект класса COrderInit . Метод класса InitMethod() получает входным параметром строку s . Эта строка выводит строку инициализации с именем соответствующей переменной.

В результате выполнения такого кода будет выведен следующий результат:

Результат показывает, что первой происходит инициализация переменных a , c , b . Порядок инициализации переменных определяется порядком их объявления в классе. После этого происходит вызов конструктора.

10. Каким образом осуществляется инициализация с помощью конструктора?

Инициализация членов данных класса с помощью конструктора более подробно описывается в теме:

11. Каким образом можно инициализировать члены данных класса с помощью секции инициализации < >? Пример

Члены данных класса можно инициализировать в одной секции, как показано в примере.

12. Что выполняется первым: секция инициализации или конструктор?

Первым выполняется секция инициализации а потом уже конструктор класса.

Инициализация — это что такое?

При создании программ необходимо обладать основными терминами компьютерной терминологии. Возьмем к примеру термин инициализация. Вы знаете, что он означает? Разобраться с его значением вам поможет данная статья. Давайте разберемся, что под этим термином подразумевают профессионалы, какие виды инициализации бывают, а также разберемся с наиболее распространенными проблемами, связанными с данным процессом.

Что такое инициализация?

Данным термином сегодня называют процессы активации, создания, подготовки к работе, определения требуемых параметров для качественной и безошибочной работы приложения. Инициализация является обязательным шагом на пути приведения любой программы или устройства в состояние использования. Сам принцип действия процедуры инициализации направлен извне относительно объекта. Чаще всего под данным словом подразумевается именно процесс настройки необходимых параметров, а также задание основных правил работы, по которым будет функционировать данная программа.

Инициализация: примеры

Посмотрим, что представляет собой инициализация. Проще всего разобраться с данным вопросом будет на наглядных примерах.

1. Инициализация жесткого диска представляет собой процесс его форматирования. Сюда также может быть отнесена запись управляющей информации, вроде меток томов, описателей дорожек и прочие манипуляции.
2. Инициализация программы предусматривает задание необходимых переменных или установку программных переменных, таких как счетчики, адреса и переключатели, в нулевое значение. Устанавливается все согласно тому, что необходимо сделать для программного обеспечения данного типа. Указания по установке могут содержаться в самом файле.
3. Инициализация подсистемы печати для вывода на принтер. Данная операция подразумевает под собой следующее: необходимо перенести данные на бумаги при помощи какого-то устройства и выполнить учет всех необходимостей. Так, например, необходимо определить расширение, тип бумаги и многие другие параметры. Прежде всего на устройство подается специальный управляющий сигнал, после этого сканируются его возможности. Это делается для того, чтобы выполнить первоначальную настройку печатающего устройства и предложить пользователю соответствующий вариант, который данный тип техники может осуществить.

Рассмотрим на практике случай запуска приложений. Предположим, при запуске компьютерной игры возникает ошибка инициализации. В качестве примера рассмотрим игру Симс 3. Данное приложение сегодня пользуется большой популярностью. По каким причинам может возникнуть ошибка инициализации в данном случае? Самый распространенный вариант такой проблемы – ошибка с кодом 0x0175dcbb. Данный номер используется для того, чтобы обозначить номер ошибки, связанной с инициализацией приложения. Возникает она чаще всего из-за того, что игра конфликтует с драйверами, дополнениями и модами. От возникновения данной проблемы не застрахованы даже те пользователи, которые предпочитают использовать лицензионные игры.

Лицензия не приводит к автоматическому решению таких проблем. Что делать при возникновении ошибки инициализации? Разберемся, как можно убрать подобную ошибку. Хотя в данном случае мы будем рассматривать игру, приведенные рекомендации вполне пригодятся и при работе с более серьезными приложениями. Стоит помнить, что самой старой проблемой является использование архаических компонент программы. Прежде всего нас будут интересовать драйвера видеокарт. Их можно скачать с официального сайта компании производителя. Нелишним будет также установить NETFramework, обновленный до последней версии. Желательно данный компонент скачивать с официального сайта разработчика – компании Microsoft.

Рассмотрим наиболее популярные причины возникновения данной проблемы: это дополнительные моды, которые написаны сторонними разработчиками. В данном случае, к сожалению, придется удалить непосредственно само расширение. Если имеется информация, из-за которой вы не хотите этого делать, то можно попробовать просто переименовать папку Mods. При возникновении данной ошибки после установки можно попробовать удалить программу при помощи деинсталлятора, а затем попробовать еще раз переустановить программу. Если данная мера не поможет, то возможно поврежден диск, на котором записана игра. В этом случае единственным разумным решением будет поменять его.

Заключение

Только вам предстоит решать, что устанавливать на свой персональный компьютер. Но прежде чем добавлять на свой компьютер контент, созданный сторонними разработчиками, рекомендуется проявить особую внимательность к качеству скачиваемых вами дополнений. Возможно возникновение ошибки инициализации обновления. Как правило, возможность отката в данном случае не предусмотрена. Тогда вам придется удалять данную программу и заново ее устанавливать. Если вы решили так сделать, необходимо отдельно позаботиться о сохранности наработанной информации. Копию данных необходимо разместить в безопасном месте, например, на флэш-накопителе.

Ссылка на основную публикацию
ВсеИнструменты 220 Вольт
Adblock
detector
×
×