Kontrollstrukturen, Teil 6 |
|
Selbst das verpönte goto ist im Sprachumfang von C enthalten.
Mit goto erfolgt ein Sprung auf eine innerhalb derselben Funktion
definierte Sprungmarke (Label).
Die Sprungmarke kann irgendwo innerhalb der gleichen Funktion liegen und wird mit einem Doppelpunkt abgeschlossen.
Ein Sprung in eine andere Funktion hinein ist nicht möglich!
Im Normalfall ist goto eher tunlichst zu vermeiden. Es
gibt allerdings Situationen, in denen goto
durchaus sinnvoll sein kann, zum Beipiel bei der Fehlerbehandlung bei
ineinander verschachtelten Schleifen.
Beachten Sie bitte folgendes
Programmsegment:
for (...) {
for (...) {
while (...) {
...
...
if (katastrophe) goto ERROR;
}
}
}
ERROR:
Überreste abräumen
Das Problem könnte hier durchaus auch ohne goto gelöst werden. Allerdings wäre der Aufwand dazu bedeutend grösser.
|