Kann mir bitte jemand sagen, ob es akzeptabel ist, dieselben goto-Beschriftungen in verschiedenen Funktionen in derselben C-Datei zu verwenden?Gleiche Sprungmarken in einer C-Datei, aber verschiedene Funktionen
Um zu erklären, was ich bin vor:
function1()
{
...
goto label
...
label:
...
}
function2()
{
...
goto label;
...
label:
...
}
Jetzt was passiert ist, dass der Code nach dem Etikett für die Bereinigung von malloc'ed‘Daten verwendet wird. Und das Ganze stürzt in Funktion2 ab. Ich habe das Mem ausgedruckt. Orte, die frei und gleich sind, werden mehrfach freigelassen. Ist das wegen all der Gotos? Ist das eine gültige Verwendung der goto-Anweisung?
Formatieren Sie bitte Ihre Frage richtig. – Alex
versuchen, einen Code für das eigentliche Problem zu posten ... – akp
Sie können die gleichen Namen in verschiedenen Funktionen haben, aber Sie können nicht * Label verwenden, das in einer anderen Funktion ist. Ihr Absturz hat nichts damit zu tun, dass der Markenname wiederverwendet wird. Es ist etwas anderes in Ihrem Code falsch, das das doppelte frei verursacht. –