<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Label_%28Programmierung%29</id>
	<title>Label (Programmierung) - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Label_%28Programmierung%29"/>
	<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Label_(Programmierung)&amp;action=history"/>
	<updated>2026-05-26T01:40:43Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in Wikipedia (Deutsch) – Lokale Kopie</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://wiki-de.moshellshocker.dns64.de/index.php?title=Label_(Programmierung)&amp;diff=89697&amp;oldid=prev</id>
		<title>imported&gt;Siegbert v2: Unpassender Link: für Label-Steuerelemente gibt es den Artikel Label (Steuerelement)</title>
		<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Label_(Programmierung)&amp;diff=89697&amp;oldid=prev"/>
		<updated>2025-07-11T23:29:23Z</updated>

		<summary type="html">&lt;p&gt;Unpassender Link: für Label-Steuerelemente gibt es den Artikel &lt;a href=&quot;/index.php/Label_(Steuerelement)&quot; title=&quot;Label (Steuerelement)&quot;&gt;Label (Steuerelement)&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Ein {{lang|en|&amp;#039;&amp;#039;&amp;#039;Label&amp;#039;&amp;#039;&amp;#039;}} (zu Deutsch: &amp;#039;&amp;#039;&amp;#039;Sprungmarke&amp;#039;&amp;#039;&amp;#039;) in einem [[Quellcode]] eines Computerprogramms ist eine durch einen [[Bezeichner]] eindeutig gekennzeichnete Marke, die üblicherweise als Sprungziel dient.&lt;br /&gt;
&lt;br /&gt;
== Verwendung ==&lt;br /&gt;
=== Assemblersprachen ===&lt;br /&gt;
Um in einer [[Assemblersprache]] z.&amp;amp;nbsp;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.&lt;br /&gt;
&lt;br /&gt;
Um diese Probleme zu umgehen, existieren Sprungmarken. Diese versehen eine Position im Quelltext mit einem eindeutigen Bezeichner. So kann direkt zu dieser Marke, d.&amp;amp;nbsp;h. zu dieser Codestelle gesprungen werden, ohne dass die oben beschriebenen Probleme auftreten.&lt;br /&gt;
&lt;br /&gt;
Beispiel in einer Pseudo-Assemblersprache:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;asm&amp;quot;&amp;gt;&lt;br /&gt;
mov $v0, 0&lt;br /&gt;
MeinLabel:                 ; hier wird ein Label mit dem Bezeichner &amp;quot;MeinLabel&amp;quot; gesetzt&lt;br /&gt;
  add  $v0, $s0            ; Code im &amp;quot;Schleifenkörper&amp;quot;&lt;br /&gt;
  subi $t0, 1              ; Code im &amp;quot;Schleifenkörper&amp;quot;&lt;br /&gt;
bne $t0, $zero, MeinLabel  ; bedingter Sprung zum Label&lt;br /&gt;
                           ; hier geht es weiter, wenn nicht gesprungen wird&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Höhere Programmiersprachen ===&lt;br /&gt;
Auch manche [[höhere Programmiersprache]]n – insbesondere ältere – bieten die Möglichkeit Sprungmarken zu setzen, um mithilfe direkter [[Sprunganweisung|Sprünge]] (meistens {{lang|en|&amp;#039;&amp;#039;goto&amp;#039;&amp;#039;}} 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]] (sogenanntem [[Spaghetticode]]).&lt;br /&gt;
&lt;br /&gt;
Moderne Programmiersprachen besitzen deshalb geeignete [[Kontrollanweisung]]en, 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.&amp;amp;nbsp;B. in den [[case-Anweisung]]en von [[C-Sharp|C#]]).&lt;br /&gt;
&lt;br /&gt;
Ein weiteres Konstrukt, das in vielen höheren Programmiersprachen Sprunganweisungen ersetzen kann, ist die [[strukturierte Ausnahmebehandlung]], meist mit den [[Anweisung (Programmierung)|Anweisungen]] &amp;#039;&amp;#039;try&amp;#039;&amp;#039;, &amp;#039;&amp;#039;finally&amp;#039;&amp;#039; und &amp;#039;&amp;#039;catch&amp;#039;&amp;#039; bzw. &amp;#039;&amp;#039;except&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
=== Algorithmik ===&lt;br /&gt;
Der Begriff ist auch in deutschsprachigen Beschreibungen von [[Algorithmus|Algorithmen]] gleichbedeutend mit [[Bezeichner]] bzw. [[Attribut (Programmierung)|Attribut]] zu finden. Beispielhafte Bedeutungspaare sind&lt;br /&gt;
* gelabelt = gekennzeichnet und&lt;br /&gt;
* Labels = Attribute/Kennzeichen.&lt;br /&gt;
&lt;br /&gt;
== Siehe auch ==&lt;br /&gt;
* [[Label (Steuerelement)|Label]]&amp;amp;nbsp;– [[Steuerelement]], das zur Beschriftung dient.&lt;br /&gt;
* [[Programmierung]]&lt;br /&gt;
* [[Strukturierte Programmierung]]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Programmiersprachelement]]&lt;/div&gt;</summary>
		<author><name>imported&gt;Siegbert v2</name></author>
	</entry>
</feed>