Label (Programmierung) - LinkFang.de





Label (Programmierung)


Ein Label (zu Deutsch: Sprungmarke) in einem Quellcode eines Computerprogramms ist eine durch einen Bezeichner eindeutig gekennzeichnete Marke, die üblicherweise als Sprungziel dient.

Verwendung

Assemblersprachen

Um in einer Assemblersprache z. B. Schleifen zu realisieren, kann meist relativ zum aktuellen Befehlszähler gesprungen werden – beispielsweise um 5 Befehle zurück. Dies ist aber sehr unflexibel: Wenn beispielsweise ein Befehl eingefügt oder entfernt wird, müssen alle relativen Sprünge, die über diese Stelle hinwegspringen, angepasst werden. Außerdem ist dies schlecht lesbar, da es dann oft notwendig ist, einzelne Programmsequenzen Befehl für Befehl abzuzählen.

Um diese Probleme zu umgehen, existieren Sprungmarken. Diese versehen eine Position im Quelltext mit einem eindeutigen Bezeichner. So kann direkt zu dieser Marke, d. h. zu dieser Codestelle gesprungen werden, ohne dass die oben beschriebenen Probleme auftreten.

Beispiel in einer Pseudo-Assemblersprache:

mov $v0, 0
MeinLabel:                 ; hier wird ein Label mit dem Bezeichner "MeinLabel" gesetzt
  add  $v0, $s0            ; Code im "Schleifenkörper"
  subi $t0, 1              ; Code im "Schleifenkörper"
bne $t0, $zero, MeinLabel  ; bedingter Sprung zum Label
                           ; hier geht es weiter, wenn nicht gesprungen wird

Höhere Programmiersprachen

Auch manche höhere Programmiersprachen – insbesondere ältere – bieten die Möglichkeit Sprungmarken zu setzen, um mithilfe direkter Sprünge (meistens goto genannt) an bestimmte Codestellen zu gelangen. Ihre Verwendung führt jedoch in größeren Programmen schnell zu unübersichtlichem, schwer lesbarem und schlecht wartbarem Quelltext (so genanntem Spaghetticode).

Moderne Programmiersprachen besitzen deshalb geeignete Kontrollanweisungen, die die Verwendung von Sprungmarken und direkten Sprüngen im Quelltext überflüssig machen, sodass sie in vielen Programmiersprachen gar nicht mehr existieren oder nur in sehr begrenztem Maße (z. B. in den case-Anweisungen von C#).

Ein weiteres Konstrukt, das in vielen höheren Programmiersprachen Sprunganweisungen ersetzen kann, ist die strukturierte Ausnahmebehandlung, meist mit den Anweisungen try, finally und catch bzw. except.

Algorithmik

Der Begriff ist auch in deutschsprachigen Beschreibungen von Algorithmen gleichbedeutend mit Bezeichner bzw. Attribut zu finden. Beispielhafte Bedeutungspaare sind

  • gelabelt = gekennzeichnet und
  • Labels = Attribute/Kennzeichen.

Siehe auch


Kategorien: Programmiersprachelement

Quelle: Wikipedia - http://de.wikipedia.org/wiki/Label (Programmierung) (Vollständige Liste der Autoren des Textes [Versionsgeschichte])    Lizenz: CC-by-sa-3.0

Änderungen: Alle Bilder mit den meisten Bildunterschriften wurden entfernt. Ebenso alle zu nicht-existierenden Artikeln/Kategorien gehenden internen Wikipedia-Links (Bsp. Portal-Links, Redlinks, Bearbeiten-Links). Entfernung von Navigationsframes, Geo & Normdaten, Mediadateien, gesprochene Versionen, z.T. ID&Class-Namen, Style von Div-Containern, Metadaten, Vorlagen, wie lesenwerte Artikel. Ansonsten sind keine Inhaltsänderungen vorgenommen worden. Weiterhin kann es durch die maschinelle Bearbeitung des Inhalts zu Fehlern gerade in der Darstellung kommen. Darum würden wir jeden Besucher unserer Seite darum bitten uns diese Fehler über den Support mittels einer Nachricht mit Link zu melden. Vielen Dank!

Stand der Informationen: August 201& - Wichtiger Hinweis: Da die Inhalte maschinell von Wikipedia übernommen wurden, ist eine manuelle Überprüfung nicht möglich. Somit garantiert LinkFang.de nicht die Richtigkeit und Aktualität der übernommenen Inhalte. Sollten die Informationen mittlerweile fehlerhaft sein, bitten wir Sie darum uns per Support oder E-Mail zu kontaktieren. Wir werden uns dann innerhalb von spätestens 10 Tagen um Ihr Anliegen kümmern. Auch ohne Anliegen erfolgt mindestens alle drei Monate ein Update der gesamten Inhalte.