▲ Наверх
ArduBlock Wiki Уроки Компоненты Книги Программы Контакты Спонсоры
Оператор goto

Условное «перемещение» выполнения программы к определенной метке-указателю в самой программе, при этом пропускается весь код до самой метки, а исполняется - после нее.

Синтаксис:

label:
//
// какой-либо код
//
goto label; // переходим к метке label

Замечание по использованию

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

При разумном применении, команда может значительно упростить код программы и сохранить время программиста. Например, в случае необходимости выхода из глубоких циклов for, while, проверок if и прочих многократно вложенных контрукций.

Пример

for(byte r = 0; r < 255; r++){
    for(byte g = 255; g > -1; g--){
        for(byte b = 0; b < 255; b++){
            if (analogRead(0) > 250){ goto bailout;}
            // еще код
        }
    }
}
bailout:


Поделись в соц сетях

Центр разработки программного обеспечения для микроконтроллеров Atmega
© 2010 - 2019 ArduBlock.ru Все права защищены. №1014879708
Проекты
Вакансии
Разработчики
Спонсоры
ardublock@mail.ru
+7 (904) 713-86-14

44 992
27 968
10 944