Einsteiger benötigt Hilfe

Außerdem werden Rücksprungadressen in den Stack geschrieben, die bei einem Herausspringen aus einer Schleife mittels goto nicht gelöscht werden und so den Stack zum Überlauf bringen. Das macht den Sketch instabil.

Kinder, Uwe ist ein toller Moderator, aber alles darf man ihm auch nicht glauben.

Mit einem goto kann man nicht aus einer Funktion herausspringen (oder hinein) und so den Stack "zum Überlauf bringen". So einen Mist würde der avrgcc Compiler nicht zulassen. Wo goto syntaktisch zulässig ist, funktioniert es auch. Und es funktioniert auch 1000 Mal, d.h. nach einer halben Sekunde noch.

Aber außer den Sonderfällen continue; break; return; sollte man wirklich ohne Sprünge auskommen und eher an Funktionen denken, wenn man die gleiche Aktion an verschiedenen Stellen im Code braucht.


Falls das missverständlich war: Natürlich kann man Code schreiben, der den RAM zum Überlauf bringt, ohne dass der Compiler es merken kann.
Z.B. ein String Objekt verwenden :wink: