PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Sind Deklaration und Vereinbarung dasselbe?



Amreps
15.12.2016, 13:47
Hallo,
ich lese immer wieder von den beiden Begriffen "Deklaration" und "Vereinbarung". Für mich ist das beides gleich. Oder gibt es da unterschiede?

Z.B. bei einer Variablendeklaration lege ich den Datentypen (und somit ja auch den Wertebereich) und den Bezeichner fest. (fehlt da was?)
und bei einer Vereinbarung doch auch oder nicht?

ich danke euch!

Peter(TOO)
15.12.2016, 16:09
Hallo,

In einen Fall wird aber auch der Speicherplatz im Speicher reserviert, im Anderen eben nicht!

Unregistriert
15.12.2016, 19:32
In C (ANSI C) bedeutet Vereinbarung nichts anderes als Deklaration. Die Vereinbarungsliste in einer Funktion ist die Liste der Variablen-Deklarationen.
https://www.tu-chemnitz.de/urz/archiv/kursunterlagen/C/kap2/fktdef.htm

- - - Aktualisiert - - -

sorry, Korrektur:
Vereinbarung wird als Oberbegriff verwendet sowohl für Deklarationen als auch für Definitionen:

Vereinbarung von Variablen in einem C-Programm
Vereinbarung von Variablen: Unterscheidung: Definition und Deklaration
Namen, Vereinbarungen und Initialisierungen von Variablen


In der Programmiersprache C: Es gibt 2 Arten von Vereinbarungen:
Definitionen und Deklarationen

Variablen-Definitionen:

legen den Namen und die Art der Variablen fest, nämlich Typ und sonstige
Attribute und sorgen gleichzeitig für die Reservierung des Speicherplatzes.



Variablen-Deklarationen: (Compiler kennt schon korrekte Nutzung!)

umfassen lediglich den Namen einer Variablen und den Typ

Deklarationen unterstützen „Export/Import“-Schnittstellenbildung zwischen
getrennten Übersetzungseinheiten


extern int a;
/* Deklaration, aber keine Definition! */


http://www.rw.cdl.uni-saarland.de/teaching/c08/mat/cc++_ws0809.27-10-2008_Variablen.pdf

"Vereinbarung" kann also tatsächlich identisch wie Deklaration gemeint sein oder aber auch wie Definition.