Структурный оператор {}
Существует два основных способа использования структурного оператора:
- Структурный оператор может рассматриваться в качестве отдельного оператора языка С-51 и использоваться в программе везде, где может встречаться отдельный исполняемый оператор. Это используется в операторах , , , switch of и ;
- Структурный оператор ограничивает область действия локальных переменных.
Каждый оператор внутри структурного оператора может являться любым оператором языка 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 может быть заключено в круглые скобки, хотя наличие последних необязательно.