Hallo,
Als Konstante allgemein bezeichnet man nach meiner Kenntnis alles, was als fester Ausdruck im Quellcode steht.
Hmm, da gibt dir sogar die Wikipedia recht. Und Macros in C machen die Sache noch schlimmer. Im Quelltext ist es etwas benanntes, nach dem Preprozessordurchlauf sind es viele einzelne Werte. Bei einer echten Konstante wäre das jedes Mal nur der Verweis auf eine ganz bestimmte Stelle im Speicher, an der der Wert liegt.
oder auch ein direkt im Code eingesetzter Wert, etwa bei numerischen Konstanten. Noch absurder wird es bei "konstanten Variablen", beispielsweise const-Deklarationen in C++. Zur Laufzeit wird's wie eine Variable mit einem im Arbeitsspeicher abgelegten aktuellen Wert behandelt, aber der Compiler achtet darauf, dass -von der Initialisierung abgesehen- nirgends eine Zuweisung an diese Variable gemacht wird.
In C nutze ich übrigens gern enum-Typen, um damit quasi Konstanten zu definieren. Vorteil gegenüber Präprozessor-Macros: Die Bezeichner werden als Debug-Informationen in der Symboltabelle gespeichert, und der Debugger kann mir beispielsweise Statuswerte im Klartext anzeigen - also beispielsweise XY_WAITING anstatt dem wenig aussagekräftigen Zahlenwert 11 (willkürlich gewählte Werte).
Ciao,
Martin
In Ägypten haben früher 150000 Leute 35 Jahre lang an einer Pyramide gearbeitet. Aber bei uns arbeiten doppelt so viele Leute doppelt so lange allein an der Baugenehmigung.
(Dieter Nuhr, deutscher Kabarettist)
Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(