Deklaration/Definition



  • Hallo,

    mal ne ganz dumme Frage:
    Was ist der Unterschied zwischen Deklaration und Definition einer Variablen?
    Warum können Variablen nicht bei ihrer Deklaration initialisiert werden???
    Irgendwie habe ich den Überblick verloren und hoffe auf eindeutige Erklärung.
    Danke



  • FaQ



  • ...oder aber ein ganz normales C++ Buch (müsste drin stehn!)...

    ALSO:

    Deklaration: Bekanntgabe, keine konkrete Instanziierung (zumindest meistens). Externe Variablen, Funktionen und Typen (Strukturen, Klassen, Enums) können deklariert werden, damit der Compiler weiß, dass sie existieren und schon mal kompilieren kann.

    Definition: Hier steht der eigentliche Code drin (also konkretes Anlegen einer Variablen oder beschreiben, was eine Funktion tut oder sagen, woraus ein Typ besteht). Zum Linken müssen alle Referenzen aufgelöst werden, die deklariert wurden, indem ein Modul verlinkt wird, in dem das Symbol definiert wurde.

    Aber bei ganz simplen Anfänger-Programmen, wo es um Variablen geht, ist oft die Definition gleichzeitig auch so was wie die Deklaration.


Anmelden zum Antworten