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; }
			// еще код
		}
	}
}