Funktionen sind kein goto! Am Anfang der Funktion wird die Rücksprung-Adresse auf dem Stack gespeichert. Und am Ende kehrt sie wieder dahin wo sie aufgerufen wurde. Das bedeutet auch dass du normal nicht eine Funktion sich selbst aufrufen lassen kannst. Dadurch wird der Speicher ganz schnell voll.
Und auch nicht in loop() main() aufrufen und dann in loop() wieder main(). Das ist das gleiche. Die Funktion weiß von selbst wo es weitergeht