Daß solche Konstrukte wenig besprochen werden, mag daran liegen, daß sie eigentlich nicht verwendet werden. Will man eine Funktion verlassen, schreibt man return. Und eigentlich gehört an das Ende einer Funktion ebenfalls der Befehl return, vor den man ohne Probleme auch ein Label setzen kann. C erlaubt einen laxen Programmierstil, der dem wissenden das Leben einfacher macht. Andere Sprachen sind da strenger, in dem sie z.B. kein goto haben. In C wird nur empfohlen, goto zu vermeiden.
Ein return ohne Rückgabewert kann man am Ende einer Funktion weglassen und hat dann, wie du bemerkt hast, kein Sprungziel für ein goto (und auch keinen Platz für einen Breakpoint) mehr. Es schadet also nicht, an das Ende jeder Funktion ein return zu schreiben.
MfG Klebwax
Lesezeichen