Курс лекций - Микропроцессоры

         

Структурный оператор {}


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

  1. Структурный оператор может рассматриваться в качестве отдельного оператора языка С-51 и использоваться в программе везде, где может встречаться отдельный исполняемый оператор. Это используется в операторах , , , switch of и ;
  2. Структурный оператор ограничивает область действия локальных переменных.

Каждый оператор внутри структурного оператора может являться любым оператором языка C-51, в том числе и объявлением, при условии, что все объявления внутри структурного оператора должны быть выполнены до первого исполняемого оператора.

Структурный оператор начинается с открывающей скобки '{' и записывается в следующем виде:

{<operator-1>; //Здесь могут быть объявления переменных <operator-2>; ... <operator-n>; }

Заметим, что в конце составного оператора точка с запятой не ставится. Пример использования структурного оператора:

if(Wes<Min) /*Условная операция*/ {incr=incr*2; /*Структурный оператор*/ Schetch=Schetch+1; /*Содержит два оператора*/ }

Структурные операторы могут вкладываться друг в друга:

{<operator-1>; <operator-2>; {<operator-A>; <operator-B> <operator-C>; } <operator-3>; <operator-4>; }

Пример использования объявлений внутри вложенного структурного оператора:

int main () {int q,b; float t,d; ... if(...) {int e,g; float f,q; ... } ... return (0); }

Переменные e,g,f,q будут уничтожены после выполнения составного оператора. Отметим, что переменная q является локальной в составном операторе, т.е. она никоим образом не связана с переменной q объявленной в начале функции main с типом int. Отметим также, что выражение стоящее после return может быть заключено в круглые скобки, хотя наличие последних необязательно.



Содержание раздела