- Deklaration (Programmierung)
-
In der Informatik und Programmierung ist eine Deklaration die Festlegung von Dimension, Bezeichner, Datentyp und weiteren Aspekten einer Variablen oder eines Unterprogramms. Durch die Deklaration wird dem Übersetzer (Compiler oder Interpreter) diese Variable bzw. dieses Unterprogramm bekannt gemacht; es ist damit zulässig, diese an anderen Stellen im selben Quelltext zu verwenden.
Häufig werden die Begriffe Deklaration und Definition gleichgesetzt. Die Definition ist allerdings ein Sonderfall der Deklaration. 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 Prototyp bezeichnet.
Bei der Referenzierung einer deklarierten (nicht definierten) Variable bzw. Unterprogrammes überprüft der Linker, dass die Variable bzw. das Unterprogramm an anderer Stelle definiert wurde und verknüpft die Referenzen mit der Definition.
Erst nach der Deklaration kann einer Variablen ein Ausdruck zugewiesen werden. Neben der expliziten Deklaration gibt es in einigen Programmiersprachen (z. B. Fortran, BASIC, PL/I) aber auch die Möglichkeit einer impliziten Deklaration von Variablen: In diesem Fall führt das erste Auftreten einer Variablen zu einer automatischen Typzuordnung.
Beispiele
Das folgende Beispiel in der Programmiersprache C deklariert und definiert die Variable x mit dem Datentyp int.
int x;
Im nächsten Beispiel bewirkt das Schlüsselwort extern, dass die Variable y nur deklariert, aber nicht definiert wird. Die Definition muss an einer anderen Stelle in derselben oder einer anderen Quelltext-Datei erfolgen.
extern int y;
Das dritte Beispiel deklariert das Unterprogramm
example1
, ohne es zu definieren. Es besteht lediglich aus dem sogenannten Funktionskopf (Funktionsprototyp, oder auch Signatur des Unterprogramms).int example1( char *c );
Im letzten Beispiel wird das Unterprogramm example2 deklariert und definiert. In geschweiften Klammern steht der sogenannte Funktionskörper oder Funktionsrumpf, der den Quelltext des Unterprogramms enthält.
int example2( int a, int b ) { return a * b; }
Weblinks und Literatur
- Deklarationen in C. Abgerufen am 17. Oktober 2010 (auf http://userpage.fu-berlin.de).
- Georg Paul, Meike Hollatz, Dirk Jesko, Torsten Mähne: Grundlagen der Informatik für Ingenieure. Vieweg +Teubner, 2003, ISBN 3519004283, S. 87, 95ff.
Kategorie:- Programmiersprachelement
Wikimedia Foundation.