Nunca antes habia usado goto's en C, pero actualmente estoy escribiendo un programa en el que me estan resultando tremendamente útiles.
En este caso lo utilizo para salir de una funcion limpiamente, en lugar de hacer returns por en medio. Es decir, al final de la función tengo una etiqueta, después de la cual compruebo una serie de postcondiciones que deben cumplirse siempre, y luego salgo de la rutina de forma controlada. Así me aseguro que, haga lo que haga la rutina, los resultados sean coherentes con la especificación.
Intentar hacer esto sin gotos significa duplicar muchísimo código (o usar macros para, al fin y al cabo, hacer lo mismo) y volverlo ilegible.
Re:...
(Puntos:2)( http://julipedia.blogspot.com/ )
En este caso lo utilizo para salir de una funcion limpiamente, en lugar de hacer returns por en medio. Es decir, al final de la función tengo una etiqueta, después de la cual compruebo una serie de postcondiciones que deben cumplirse siempre, y luego salgo de la rutina de forma controlada. Así me aseguro que, haga lo que haga la rutina, los resultados sean coherentes con la especificación.
Intentar hacer esto sin gotos significa duplicar muchísimo código (o usar macros para, al fin y al cabo, hacer lo mismo) y volverlo ilegible.
The Julipedia [blogspot.com]