Die Definition ist in den meisten Szenarien automatisch eine Deklaration. Lassen Sie uns nun den Unterschied zwischen Definition und Deklaration anhand der detaillierten Vergleichstabelle verstehen.
Vergleichstabelle
Basis zum Vergleich | Definition | Erklärung |
---|---|---|
Basic | Bestimmt den in Variable, Funktion oder Klasse gespeicherten Wert. | Gibt den Namen und den Typ der Variablen, Funktion, Klasse usw. an. |
Speicherzuweisung | Tritt ein | Findet nicht statt |
Wiederholung | Anweisungen können nicht erneut definiert werden, wenn sie bereits definiert sind. | Redeclaration kann leicht möglich sein. |
Umfang | Dauer wird bestimmt | Sichtbarkeit ist angegeben |
Definition der Definition
Die Definition gibt den Code oder die Daten an, die mit dem Namen der Variablen, Funktion, Klasse usw. verknüpft sind. Die Definition wird vom Compiler zwingend benötigt, um den Speicherplatz für die deklarierte Entität zuzuweisen. Wenn eine Variable definiert ist, enthält sie eine Menge Speicher, die aus mehreren Bytes für diese Variable besteht. Eine Funktionsdefinition erzeugt Code für die Funktion. Wir können ein Programmelement nur einmal in einem Programm definieren, da die Definition eine eindeutige Spezifikation eines Programmelements ist. Die Beziehung zwischen Deklaration und Definition kann Eins-zu-Viele sein .
In einigen Situationen kann ein Programmelement nicht definiert, sondern deklariert werden, z. B. wenn eine Funktion niemals aufgerufen wird oder ihre Adresse niemals verwendet wird, selbst wenn sie deklariert ist. Ein anderes Beispiel ist das, in dem die Klassendefinition nicht verwendet wird, während sie deklariert werden muss.
Definition der Erklärung
Deklaration wird verwendet, um die Namen des Programms anzugeben, z. B. Name einer Variablen, Funktion, Namensraum, Klassen usw. In einem Programm kann kein Name ohne seine Deklaration verwendet werden. Die Programmelemente können im Gegensatz zur Definition mehrmals deklariert werden. Mehrfachdeklarationen können nur erreicht werden, wenn die unterschiedlichen Deklarationen im identischen Format gemacht werden. Deklaration ist das Medium, um das Programmelement in der Perspektive von Compilern sichtbar zu machen.
Die Deklaration dient der Definition, nur in bestimmten Fällen ist die Bedingung nicht impliziert, die im Folgenden angegeben ist.
- Wenn der statische Datenmember innerhalb einer Klassendeklaration deklariert wird, handelt es sich in diesem Fall nicht um eine Deklaration. Da nur eine Kopie für alle Objekte der Klasse generiert wird, sind die statischen Datenelemente die Komponenten der Objekte eines bereitgestellten Klassentyps.
- Wenn eine Deklaration eine typedef-Anweisung ist.
- Eine Variable wird ohne Initialisierer oder Funktionshauptteil deklariert, enthält jedoch externe Spezifizierer. Es zeigt an, dass die Definition für die andere Funktion sein könnte und stellt den Namen externe Verknüpfung bereit.
- Die Klassennamensdeklaration ohne Definition wie Klasse T;
Normalerweise erfolgt die Deklaration in einem Umfang . Der Gültigkeitsbereich bestimmt die Sichtbarkeit des deklarierten Namens und der definierten Objektdauer.
Hauptunterschiede zwischen Definition und Erklärung
- Die Definition eines Programmelements bestimmt den mit diesem Element verknüpften Wert. Andererseits gibt die Deklaration eines Programmelements dem Compiler seinen Namen und seinen Typ an.
- Die Definition des Programmelements reserviert etwas Speicher, während die Deklaration keine Speicherzuordnung beinhaltet.
- Ein Programmelement kann mehrfach deklariert werden. Umgekehrt enthält die Definition eine eindeutige Spezifikation mit dem Namen des Programmelements, die durch Code oder Daten unterschieden werden kann.
- Der Gültigkeitsbereich in der Deklaration beschreibt die Sichtbarkeit der Variablen, der Funktion, des Objekts, der Klasse, der Aufzählung usw. Im Gegensatz dazu bezieht sich der Gültigkeitsbereich in der Definition auf die Dauer.
Definitionsbeispiel
- Variablendefinition sowie Deklaration:
int r = 10;
- Funktionsdefinition:
int add (int x, int y) {int a; a = x + y; Rückkehr a; }
Deklarationsbeispiel
- Variable Aussage:
extern int r;
- Funktionsdeklaration:
int add (int p1, int p2);
Fazit
Der Deklarationsprozess wird verwendet, um das Programmelement für den Compiler sichtbar zu machen, und es muss kein Speicher zugewiesen werden. Umgekehrt ist Definition eine Deklaration, dass der Speicher reserviert wird. In einfachen Worten reserviert der Compiler den Speicherplatz für die deklarierte Entität.