Глобальная переменная

Глобальная переменная

В программировании глобальной переменной называют переменную, областью видимости которой является вся программа (кроме затенённых (англ.) областей). Механизмы взаимодействия с глобальными переменными называют global state или global environment. Глобальные переменные могут использоваться для взаимодействия между процедурами и функциями как альтернатива передачи аргументов и возвращения значений[1].

Использование глобальных переменных имеет недостатки: глобальная переменная может быть изменена в любой точке программы (если она не находится в защищённой памяти или объявлена как переменная только для чтения (англ.)), что может повлиять на работу других частей программы[2]. По этой причине глобальные переменные имеют неограниченный потенциал для создания взаимных зависимостей, что приводит к усложнения программы. Однако в некоторых случаях бывает полезно использовать глобальные переменные. Например, они могут быть использованы, чтобы избежать необходимости прохода часто используемых переменных через несколько функций. Глобальные переменные также затрудняют интеграцию модулей, поскольку код, написанный ранее, может содержать глобальные переменные с теми же именами, что и во встраиваемом модуле.

Глобальные переменные широко используются для передачи данных между секциями кода, которые не участвуют в отношениях вызовов, такие как параллельные нити исполнения или обработчики сигналов. Без надлежащей блокировки (например, с помощью мьютекса), код, использующий глобальные переменные, не будет потокобезопасным, за исключением переменных, доступных только для чтения (англ.) в защищённой области памяти. С увеличением количества переменных и, соответственно, блокировок увеличиваются вероятность взаимных блокировок.


См. также

Примечания

  1. Керниган и Ритчи Язык программипования Си — С. 44, 87.
  2. William Wulf and Mary Shaw, “Global Variable Considered harmful”, ACM SIGPLAN Notices, volume 8, issue 2, 1973 February, С. 28–34.

Ссылки


Wikimedia Foundation. 2010.

Игры ⚽ Поможем решить контрольную работу

Полезное


Смотреть что такое "Глобальная переменная" в других словарях:

  • Глобальная переменная — в программировании переменная, описание которой вынесено за пределы текущего блока программы. Глобальные переменные описываются в блоке объемлющем текущий блок. По английски: Global variable См. также: Переменные в языках программирования… …   Финансовый словарь

  • глобальная переменная — Переменная программы ЭВМ, которая может использоваться не только главной программой, но и подпрограммами [http://slovarionline.ru/anglo russkiy slovar neftegazovoy promyishlennosti/] Тематики нефтегазовая промышленность EN global variable …   Справочник технического переводчика

  • Локальная переменная — В программировании локальной переменной называют переменную, объявленную внутри блока кода. Область видимости локальной переменной начинается в точке её объявления и заканчивается в конце этого блока. Эта статья содержит нез …   Википедия

  • Ruby — Класс языка: мультипарадигмальный: динамический, объектно ориентиров …   Википедия

  • Руби IDE — Ruby Семантика: мультипарадигмальный Тип исполнения: интерпретатор Появился в: 1995 г. Автор(ы): Юкихиро Мацумото Последняя версия: 1.9.1 …   Википедия

  • Рубин (язык программирования) — Ruby Семантика: мультипарадигмальный Тип исполнения: интерпретатор Появился в: 1995 г. Автор(ы): Юкихиро Мацумото Последняя версия: 1.9.1 …   Википедия

  • Язык программирования Рубин — Ruby Семантика: мультипарадигмальный Тип исполнения: интерпретатор Появился в: 1995 г. Автор(ы): Юкихиро Мацумото Последняя версия: 1.9.1 …   Википедия

  • Класс памяти — переменной (англ. Storage class)  понятие в некоторых языках программирования. Он определяет область видимости переменной, а также как долго переменная находится в памяти. Классы памяти в C и C++ Переменная в этих языках должна… …   Википедия

  • Венгерская нотация — Венгерская нотация в программировании  соглашение об именовании переменных, констант и прочих идентификаторов в коде программ. Своё название венгерская нотация получила благодаря программисту компании Microsoft венгерского происхождения …   Википедия

  • VMPC — (англ. Variably Modified Permutation Composition)  это потоковый шифр, применяющийся в некоторых системах защиты информации в компьютерных сетях. Шифр разработан криптографом Бартошем Жолтаком (польск. Bartosz Żółtak,англ. Bartosz… …   Википедия


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»