Ist es möglich, die Adresse eines Labels in einer Variablen zu speichern und mit goto zu springen?

Ich weiß, jeder hasst gotos. In meinem code, aus Gründen, die ich betrachtet haben, und bin bequem mit, Sie bieten eine effektive Lösung (dh ich bin nicht auf der Suche nach "don' T do that" als Antwort, ich verstehe Ihre Vorbehalte, und zu verstehen, warum ich mit Ihnen sowieso).

Bisher wurden Sie fantastisch, aber ich wollen, erweitern Sie die Funktionalität in einer Weise, die mich verpflichtet, im wesentlichen in der Lage sein zu speichern Zeiger auf den Etiketten, gehen Sie dann, um Sie später.

Wenn dieser code funktioniert, ist es entspräche der Art von Funktionalität, die ich brauche. Aber es funktioniert nicht, und 30 min googeln hat nicht offenbart alles. Hat jemand irgendwelche Ideen?

int main (void)
{
  int i=1;
  void* the_label_pointer;

  the_label:

  the_label_pointer = &the_label;

  if( i-- )
    goto *the_label_pointer;

  return 0;
}

InformationsquelleAutor der Frage Joshua Cheek | 2009-11-22

Schreibe einen Kommentar