На этом шаге мы рассмотрим оператор, осуществляющий безусловную передачу
управления.
Оператор перехода goto предназначен для безусловной передачи управления в заданную точку программы. Его выполнение заключается в передаче управления оператору, помеченному заданной меткой. Общий вид оператора следующий:
goto <метка>;
. . . .
<метка>: <оператор>
Оператор перехода goto предназначен для безусловной передачи управления в заданную точку программы. В качестве метки используется идентификатор. Метка отделяется от помеченного оператора двоеточием. Передача управления разрешена на любой помеченный оператор в теле функции. Однако существует одно важное ограничение: запрещено "перескакивать" через описания, содержащие инициализацию объектов.
Принятые в настоящее время правила составления программ рекомендуют либо вовсе отказаться от оператора goto, либо свести его применение к минимуму и строго придерживаться следующих рекомендаций:
Следование перечисленным рекомендациям позволяет исключить возможные
нежелательные последствия
бессистемного использования оператора безусловного перехода. Полностью
отказываться от
его использования вряд ли стоит. Есть случаи, когда этот оператор
обеспечивает наиболее
простые и понятные решения. Один из них - это ситуация, когда в рамках текста
одной
функции необходимо из разных мест переходить к одному участку программы.
Если по
каким-то причинам эту часть программы нельзя оформить в виде функции
(например, это
может быть текст на ассемблере), то наиболее простое решение - применение
безусловного перехода
с помощью оператора goto. Такое положение возникает, например, при
необходимости обрабатывать
ошибки, выявляемые в процессе выполнения программы.
Следующий шаг будет посвящен оператору break.