Die Frage zeigt ein klares Missverständnis auf. Das ist hier schon
beleuchtet worden, allerdings könnte man nach meiner Meinung noch eine
weitere Sichtweise anfügen um es weitergehend zu beleuchten.
Die Frage ist ob ein "Wert" überhaupt Speicherplatz belegt, so das man
die Adresse dieses Speicherplatzes ermitteln kann.
Die Preprozessoranweisungen erlauben nicht einen Speicherplatz zu
belegen. Vielmehr (das wurde hier schon geschrieben) dient der #define
Ausdruck nur dazu später im Programm Textersatz vorzunehmen.
C hingegen erlaubt es Speicherplatz zu belegen. Üblicherweise sind das
Variablen (und Funktionen). Deren Adresse kann man ermitteln. Der
entsprechende Terminus im Deutsch ist "Definition" mit der Anwendung
"Eine Variable wird definiert".
Möglicherweise ist hier beim flüchtigen Lesen eine Verwechselung
zwischen dem #define des Preprozessors und der "Definition" mit Wirkung
der Belegung von Speicherplatz in C entstanden. Obwohl man das "define"
aus dem Englischen auch mit "definiere", "definieren", "Definition"
übersetzen bzw. abstrahieren könnte, entspricht sich die "Wirkung"
dieser beiden Vorgänge nicht. Die entsprechende Anwendung im
Preprozessor heisst, wenn man denn das Wort "definiere" verwenden will
(und das ist sicher zulässig): "Definiere Textersatz". Wo der
Unterschied ist, wurde hier schon geschrieben.
Ich hoffe das hilft.