Wikipedia · einfach zusammengefasst · Stand
Deklaration (Programmierung)
In der Informatik und Programmierung ist eine Deklaration die Festlegung von Dimension, Bezeichner, Datentyp und weiteren Aspekten einer Variable oder eines …
Inhalt4 Abschnitte
Grundbegriff
Eine Deklaration ist in Informatik und Programmierung die Festlegung wichtiger Eigenschaften einer Variable oder eines Unterprogramms. Dazu gehören Dimension, Bezeichner, Datentyp und weitere Aspekte. Durch die Deklaration wird die Variable oder das Unterprogramm dem Übersetzer, also einem Compiler oder Interpreter, bekannt gemacht. Danach kann sie oder es an anderen Stellen im selben Quelltext verwendet werden.
Deklaration und Definition
Die Begriffe Deklaration und Definition werden häufig allgemein ähnlich verwendet, etwa im Sinn von „Daten, Datenstrukturen oder Datentypen festlegen oder beschreiben“. Je nach Programmiersprache können sie aber unterschiedliche Bedeutungen haben.
In Haskell werden zum Beispiel auch Funktionen per Deklaration spezifiziert. In C und C++ nennt man dies bei bestimmten Fällen „Definition“; dort wird eine Definition als Sonderfall einer Deklaration verstanden. Bei Variablen spricht man von Definition, wenn der Übersetzer Code erzeugt, der Speicherplatz für die Variable reserviert. Das kann statisch im Datensegment oder dynamisch zur Laufzeit geschehen. Bei Unterprogrammen liegt eine Definition vor, wenn an dieser Stelle der Quelltext des Unterprogramms angegeben ist.
Eine Deklaration eines Unterprogramms ohne Definition wird oft Prototyp genannt. Wird eine nur deklarierte, aber nicht definierte Variable oder ein entsprechendes Unterprogramm referenziert, prüft der Linker, ob an anderer Stelle eine Definition vorhanden ist, und verknüpft die Referenzen mit dieser Definition.
Explizite und implizite Deklaration
Erst nach der Deklaration kann einer Variablen ein Ausdruck zugewiesen werden. In vielen Programmiersprachen geschieht die Deklaration ausdrücklich im Quelltext, also explizit.
In einigen Programmiersprachen, zum Beispiel Fortran, BASIC und PL/I, gibt es auch implizite Deklarationen. Dabei führt das erste Auftreten einer Variablen automatisch zu einer Typzuordnung. Der Datentyp wird also nicht durch eine ausdrückliche Deklarationszeile festgelegt, sondern durch Regeln der jeweiligen Sprache.
Typische Beispiele
In C deklariert und definiert int x; die Variable x mit dem Datentyp int. Dagegen bewirkt extern int y;, dass die Variable y nur deklariert, aber nicht definiert wird. Ihre Definition muss an einer anderen Stelle in derselben oder einer anderen Quelltext-Datei erfolgen.
Ein Unterprogramm kann ebenfalls nur deklariert werden: int example1(char *c); enthält nur den Funktionskopf, auch Funktionsprototyp oder Signatur genannt. Bei int example2(int a, int b) { return a * b; } wird das Unterprogramm dagegen deklariert und definiert. Der Funktionskörper in geschweiften Klammern enthält den Quelltext des Unterprogramms.
Das COBOL-Beispiel zeigt eine Datenstruktur vom Typ Array, hier als „Tabelle“. Eine Struktur PRODUKT kann mit OCCURS 100 hundertmal auftreten. Enthalten sind unter anderem NUMMER PIC 9(5) für eine numerische Angabe mit 5 Stellen, NAME PIC X(25) für eine alphanumerische Angabe mit 25 Stellen und PREIS PIC 9(5)V99 Comp-3 für eine numerisch gepackte Angabe mit 5 Stellen plus 2 Dezimalstellen. Im Befehlsteil werden die Werte über einen Index angesprochen, zum Beispiel um Preise vorhandener Produkte zu einer Summe hinzuzufügen.