Eine Deklaration beschreibt ein Objekt, während eine Definition die Erstellung eines Objekts anfordert. Alle Definitionen sind auch Deklarationen , aber das Gegenteil ist nicht wahr.
Im Fall von int a;
hängt es davon ab, wo es im Quellcode steht:
int a;
eine Definition - sie fordert die Erstellung einer int
-Variable mit automatischer Speicherdauer (und natürlich auch einer Deklaration) an; int a;
eine vorläufige Definition (von denen es mehrere geben kann, solange die Typen und die Verknüpfung akzeptabel sind); in C ++ ist es eine gewöhnliche Definition mit externer Verknüpfung. struct
oder union
Spezifizierers ist int a;
eine Deklaration eines Mitglieds. Überlegen Sie:
%Vor%Es ist eine Definition sowie eine Deklaration.
Betrachten Sie das folgende Beispiel ...
%Vor%Ein bestimmter Wert wird gedruckt. Was offensichtlich bedeutet, dass es einen Speicherort hat.
Wenn Sie nur eine Variable deklarieren und nicht definieren wollen, dann gehen Sie nach "extern" keyword.
Somit ist extern int b;
nur eine Deklaration und keine Definition.
Beispiel:
%Vor%Somit wird das obige Programm einen Fehler ausgeben, da "var" nirgends definiert wurde.
Tags und Links c c++ syntax declaration