Die Bedeutung von beidem entzieht sich mir.
Antwort
Zu viele Anzeigen?Deklaration bedeutet, einer Variablen einen Namen und einen Typ zu geben (im Falle einer Variablendeklaration), z. B:
int i;
oder den Namen, den Rückgabetyp und den Typ des/der Parameter(s) einer Funktion ohne Körper (im Falle einer Funktionsdeklaration) angeben, z. B:
int max(int, int);
während Definition bedeutet, dass einer Variablen ein Wert zugewiesen wird (im Falle einer Variablendefinition), z. B:
i = 20;
oder den Körper (die Funktionalität) einer Funktion bereitstellen/hinzufügen, wird Funktionsdefinition genannt, z. B:
int max(int a, int b)
{
if(a>b) return a;
return b;
}
viele Zeitangaben und Definitionen können zusammen erfolgen als:
int i=20;
und:
int max(int a, int b)
{
if(a>b) return a;
return b;
}
In den obigen Fällen definieren und deklarieren wir die Variable i
y function max()
.
- See previous answers
- Weitere Antworten anzeigen
20 Stimmen
Um ehrlich zu sein, hatte ich große Schwierigkeiten, herauszufinden, wer wer ist, und ich fand die Namen nicht offensichtlich. Ich hatte kein Problem mit den Bedeutungen, sondern nur damit, welche Namen ich mit den Bedeutungen in Verbindung bringen konnte.
2 Stimmen
Wir haben das schon ausführlich besprochen: stackoverflow.com/questions/671925/
7 Stimmen
Dennoch ist es keine doppelte Frage, da diese Frage sich auf C/C++ bezieht, während die andere Frage sich auf alle oder keine Sprachen im Allgemeinen bezieht. Es gibt nur doppelte Antworten (da bei der anderen Frage einige Antworten alle Sprachen außer C und/oder C++ ignorierten).
7 Stimmen
@DavidThornley Ich verwende diesen Trick: a Definition gibt eine feinere Beschreibung einer bestimmten Variablen oder Funktion. Um mich daran zu erinnern, erinnere ich daran, dass die Mitte des Wortes "Definition" eine Ähnlichkeit mit dem Wort "feiner" hat :)
2 Stimmen
@MarcoLeogrande: Oder "definitiv"!
1 Stimmen
Eine viel interessantere Frage ist die nach dem Unterschied zwischen einer Erklärung und einem Prototyp ": stackoverflow.com/questions/5481579/
1 Stimmen
Hier ist ein schöner Artikel, der erklärt, wie das externe Schlüsselwort und die Speicherzuweisung mit Deklarationen / Definitionen zusammenhängt: dreamincode.net/forums/topic/171468-erklärungen-vs-definitionen
1 Stimmen
Das kann helfen cprogramming.com/declare_vs_define.html
0 Stimmen
Wenn Sie Schwierigkeiten haben, sich die Begriffe zu merken, beachten Sie bitte, dass die Begriffe in alphabetischer Reihenfolge stehen - Erklärung, Definition, Verweis. Das ist im Allgemeinen die Reihenfolge, in der sie erscheinen sollten.
0 Stimmen
Mögliches Duplikat von Was genau sind C++-Definitionen, Deklarationen und Zuweisungen?