<?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=Deklaration_%28Programmierung%29</id>
	<title>Deklaration (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=Deklaration_%28Programmierung%29"/>
	<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Deklaration_(Programmierung)&amp;action=history"/>
	<updated>2026-05-31T12:22:12Z</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=Deklaration_(Programmierung)&amp;diff=157536&amp;oldid=prev</id>
		<title>imported&gt;TaxonBot: Bot: Auflösung doppelter toter Links nach https://de.wikipedia.org/w/index.php?title=Wikipedia:Bots/Anfragen&amp;oldid=266185123#Aufl%C3%B6sung_der_doppelten_Toten_Links</title>
		<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Deklaration_(Programmierung)&amp;diff=157536&amp;oldid=prev"/>
		<updated>2026-04-16T16:40:42Z</updated>

		<summary type="html">&lt;p&gt;Bot: Auflösung doppelter toter Links nach https://de.wikipedia.org/w/index.php?title=Wikipedia:Bots/Anfragen&amp;amp;oldid=266185123#Aufl%C3%B6sung_der_doppelten_Toten_Links&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;In der [[Informatik]] und [[Programmierung]] ist eine &amp;#039;&amp;#039;&amp;#039;Deklaration&amp;#039;&amp;#039;&amp;#039; die Festlegung von [[Dimension (Mathematik)|Dimension]], [[Bezeichner]], [[Datentyp]] und weiteren Aspekten einer [[Variable (Programmierung)|Variable]] oder eines [[Unterprogramm]]s. Durch die Deklaration wird dem Übersetzer ([[Compiler]] oder [[Interpreter]]) diese Variable bzw. dieses Unterprogramm bekannt gemacht; es ist damit möglich, diese an anderen Stellen im selben [[Quelltext]] zu verwenden.&lt;br /&gt;
&lt;br /&gt;
Häufig werden die Ausdrücke Deklaration und &amp;#039;&amp;#039;&amp;#039;Definition&amp;#039;&amp;#039;&amp;#039; mit der allgemeinen Bedeutung „Daten/Datenstrukturen/Datentypen festlegen/beschreiben“ als Synonyme verwendet. Beispiele siehe „eigene Datentypen definieren“ in,&amp;lt;ref name=&amp;quot;CGI&amp;quot; /&amp;gt; „definierte Variable“ in&amp;lt;ref name=&amp;quot;UniMBG&amp;quot;&amp;gt;{{Toter Link |datum=2018-04 |url=http://wwwiti.cs.uni-magdeburg.de/iti_db/lehre/gif/gif_11.pdf |text=&amp;#039;&amp;#039;Grundlagen der Informatik ...&amp;#039;&amp;#039;}} (PDF; 117&amp;amp;nbsp;kB) Uni Magdeburg&amp;lt;/ref&amp;gt; oder „definieren einer Klasse“ in [[Klasse (Objektorientierung)|Klasse]].&lt;br /&gt;
&lt;br /&gt;
Programmiersprachenabhängig werden diese Begriffe jedoch zum Teil auch unterschiedlich verwendet. So werden zum Beispiel in Haskell per Deklaration auch Funktionen spezifiziert,&amp;lt;ref name=&amp;quot;CGI&amp;quot;&amp;gt;[http://www.fh-wedel.de/~si/seminare/ss01/Ausarbeitung/6.cgi/haskell2.htm CGI-Programmierung mit Haskell] fh-wedel.de&amp;lt;/ref&amp;gt; in den Programmiersprachen C++ und C wird dies ‚Definition‘ genannt.&amp;lt;ref name=&amp;quot;UniMBG&amp;quot; /&amp;gt; ‚Definition‘ wird dabei als Sonderfall der Deklaration verstanden. Bei Variablen spricht man von Definition, wenn der Übersetzer Code erzeugt, der entweder statisch (im Datensegment) oder dynamisch (zur Laufzeit) Speicherplatz für diese Variable reserviert. Bei Unterprogrammen spricht man von Definition, wenn an dieser Stelle der Quelltext des Unterprogramms angegeben ist. Die Deklaration eines Unterprogramms ohne Definition wird auch oft als [[Funktionsprototyp|Prototyp]] bezeichnet.&lt;br /&gt;
&lt;br /&gt;
Bei der Referenzierung einer deklarierten (nicht definierten) Variable bzw. Unterprogrammes überprüft der [[Linker (Computerprogramm)|Linker]], dass die Variable bzw. das Unterprogramm an anderer Stelle definiert wurde und verknüpft die Referenzen mit der Definition.&lt;br /&gt;
&lt;br /&gt;
Erst nach der Deklaration kann einer Variablen ein [[Ausdruck (Programmierung)|Ausdruck]] [[Zuweisung|zugewiesen]] werden. Neben der expliziten Deklaration gibt es in einigen Programmiersprachen (z.&amp;amp;nbsp;B. [[Fortran]], [[BASIC]], [[PL/I]]) aber auch die Möglichkeit einer &amp;#039;&amp;#039;impliziten Deklaration&amp;#039;&amp;#039; von Variablen: In diesem Fall führt das erste Auftreten einer Variablen zu einer automatischen Typzuordnung.&lt;br /&gt;
&lt;br /&gt;
== Beispiele ==&lt;br /&gt;
Das folgende Beispiel in der Programmiersprache [[C (Programmiersprache)|C]] deklariert und definiert die Variable &amp;lt;span style=&amp;quot;font-family:monospace;&amp;quot;&amp;gt;x&amp;lt;/span&amp;gt; mit dem Datentyp [[Integer (Datentyp)|int]].&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
  int x;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Im nächsten Beispiel bewirkt das Schlüsselwort &amp;lt;span style=&amp;quot;font-family:monospace;&amp;quot;&amp;gt;extern&amp;lt;/span&amp;gt;, dass die Variable &amp;lt;span style=&amp;quot;font-family:monospace;&amp;quot;&amp;gt;y&amp;lt;/span&amp;gt; nur deklariert, aber nicht definiert wird. Die Definition muss an einer anderen Stelle in derselben oder einer anderen Quelltext-Datei erfolgen.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
  extern int y;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Das dritte Beispiel deklariert das Unterprogramm &amp;lt;code&amp;gt;example1&amp;lt;/code&amp;gt;, ohne es zu definieren. Es besteht lediglich aus dem sogenannten Funktionskopf ([[Funktionsprototyp]], oder auch [[Signatur (Programmierung)|Signatur]] des Unterprogramms).&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
  int example1(char *c);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Im nächsten Beispiel wird das Unterprogramm &amp;lt;span style=&amp;quot;font-family:monospace;&amp;quot;&amp;gt;example2&amp;lt;/span&amp;gt; deklariert und definiert. In geschweiften Klammern steht der sogenannte Funktionskörper oder Funktionsrumpf, der den Quelltext des Unterprogramms enthält.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
  int example2(int a, int b)&lt;br /&gt;
  {&lt;br /&gt;
    return a * b;&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Im folgenden Codebeispiel werden in der Programmiersprache [[COBOL]] die [[Variable (Programmierung)|Variablen]] einer ‚Tabelle‘ –&amp;amp;nbsp;einer [[Datenstruktur]] vom Typ &amp;#039;Array&amp;#039;&amp;amp;nbsp;– definiert/deklariert. Diese sind mit für das jeweilige Datenformat geeigneten [[Anweisung (Programmierung)|Anweisungen]] sowie einem sogenannten ‚Index‘ (dessen Inhalt meist innerhalb einer [[Schleife (Programmierung)|Schleife]] gesetzt und kontrolliert wird) anzusprechen:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cobolfree&amp;quot;&amp;gt;&lt;br /&gt;
* Im Datenteil des Programms:    (mit &amp;#039;*&amp;#039; beginnende Anweisungen/Texte gelten als Kommentare)&lt;br /&gt;
01 TAB_PRODUKT.                       ** Die gesamte Datenstruktur:&lt;br /&gt;
   02 PRODUKT    OCCURS 100.           * Daten für 1 Produkt; die Struktur kann 100-mal auftreten&lt;br /&gt;
      03 NUMMER    PIC 9(5)            * Numerisch 5 Stellen&lt;br /&gt;
      03 NAME      PIC X(25).          * Alphanumerisch 25 Stellen&lt;br /&gt;
      03 PREIS     PIC 9(5)V99 Comp-3. * Numerisch-gepackt 5 Stellen + 2 Dezimalstellen (4 Bytes)&lt;br /&gt;
* Im Befehlsteil des Programms:       ** Summieren des Preises aller vorhandenen Produkte&lt;br /&gt;
  IF NUMMER (INDEX) &amp;lt;&amp;gt; 0               * Null bedeutet (hier im Beispiel) &amp;#039;nicht belegt&amp;#039;&lt;br /&gt;
     ADD PREIS (INDEX) TO SUMME_PREIS&lt;br /&gt;
  ELSE ...&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Literatur ==&lt;br /&gt;
* {{Literatur|Autor=Georg Paul, Meike Hollatz, Dirk Jesko, Torsten Mähne| Titel=Grundlagen der Informatik für Ingenieure| Verlag=Vieweg+Teubner| Jahr=2003| ISBN=3-519-00428-3| Seiten=87, 95 ff.}}&lt;br /&gt;
&lt;br /&gt;
== Weblinks ==&lt;br /&gt;
* {{Internetquelle | url=http://userpage.fu-berlin.de/~ram/pub/pub_jf47ht81Ht/c_deklaration_de  | titel=Deklarationen in C | kommentar=userpage.fu-berlin.de  | zugriff=2010-10-17}}&lt;br /&gt;
&lt;br /&gt;
== Einzelnachweise ==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Programmiersprachelement]]&lt;/div&gt;</summary>
		<author><name>imported&gt;TaxonBot</name></author>
	</entry>
</feed>