manejo - Las mismas etiquetas de Goto usadas en un archivo C pero diferentes funciones
guardar y leer datos en un archivo.txt en c (2)
¿Alguien puede decirme si es aceptable usar las mismas etiquetas de Goto en diferentes funciones en el mismo archivo C?
Para explicar lo que estoy enfrentando:
function1()
{
...
goto label
...
label:
...
}
function2()
{
...
goto label;
...
label:
...
}
Ahora, lo que está sucediendo es que el código después de la etiqueta se está utilizando para la limpieza de los datos de malloc''ed. Y todo se está estrellando en function2. Imprimí el mem. Las ubicaciones que son libres y las mismas se liberan varias veces. ¿Es esto por todos los gotos? ¿Es este uso válido de la declaración goto?
Como Joachim dijo aquí, las etiquetas son locales; pero tenga en cuenta que las etiquetas son locales para las funciones, no para el bloque actual. goto
declaraciones goto
no respetan el alcance, excepto el alcance de función completa.
Las etiquetas son locales, por lo que puede utilizar la misma etiqueta en varias funciones.
Sin embargo, la pregunta sobre si debes usar goto
es un asunto diferente, y no es fácil de responder. En resumen, no uses goto
. Pero al igual que con todo (especialmente cuando se trata de programación), hay excepciones en las que el goto
puede ser útil.