Блок (программирование)

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск

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

Операторные скобки[править | править исходный текст]

Для выделения блоков применяются специальные конструкции языка — операторные скобки. Это могут быть фигурные скобки («{» и «}» — С, C++, Java), ключевые слова (Ада, Паскаль) или даже различие в отступах строк (Python). В Forth блоков нет, но они могут быть легко встроены в язык.

Дополнительные свойства[править | править исходный текст]

В языках, основанных на Си, блоки определяют область видимости идентификатора. В C++ они могут использоваться, чтобы определить время жизни объекта (создание и разрушение). В некоторых языках (например, Pico) они просто используются для группировки выражений. В языках типа Smalltalk блоки — объекты — со всеми соответствующими возможностями, расширенные информацией на их окружение, то есть замыкания.

Примеры[править | править исходный текст]

Типичный блок (Си):

 {
   return 0; 
 }

Блок (Pascal):

 begin
  a:=5;
  b:=a-2;
 end

Использование блока с C++ для уменьшения области видимости переменной (вложенный блок, типичный пример использования RAII, независимо от хода программы вызовутся конструктор и деструктор переменной noname которые выполнят необходимую работу, например блокировку и разблокировку в многопоточной среде):

 {
   int i = 0;
   {Look noname(queue); 
       // некоторые действия
   }
 }

Более сложный пример PL/SQL:

 DECLARE
    -- Описания блока, переменные, типы, курсоры и т. п. (опционально)
 BEGIN
   -- Непосредственно код программы
 EXCEPTION
   -- Обработка исключений (опционально)
 END;