Der Adreßoperator in C
Der unäre Präfixoperator »&« wird Adreßoperator genannt.
Wenn »A « ein Ausdruck ist, dann ist »&(A )« ein Ausdruck. Wir nennen diesen Ausdruck „die Adresse von A “.
Die Priorität dieses unären Präfixoperators »&« ist genau so wie die des bekannten unären Präfixoperators »-« (Vorzeichenwechsel). Entsprechend können die runden Klammern unter Umständen entfallen.
Solch ein Adreßausdruck ist nur dann sinnvoll, wenn der ursprüngliche Ausdruck »A « ein Objekt (also ein Speicherstück) angibt. In diesem Kurs kann man bei »A « zunächst an einen Variablennamen (ein Objektnamen) denken.
Die Adresse eines Objekts erlaubt es, ein Objekt zu erreichen. Sie enthält eine Information über den Ort und die Größe eines Objektes.
main.c
int main( void )
{ int i;
&i; }stdout
- (keine Ausgabe, aber auch keine Fehlermeldung)
- Bildliche Darstellung der Beziehung zwischen einer Adresse und ihrem Objekt
&i ----------> i
Eine Adresse ist kein numerischer Wert, sondern ein sogenannter skalarer Wert (ein Skalar).
Ein Skalar ist ein Wert, der Ähnlichkeit mit einer ganzen Zahl hat, aber beispielsweise nicht ohne weiteres ausgegeben werden oder in Rechnungen verwendet werden kann.
Adressen und Zahlen gelten als Skalare.
- vereinfachte Syntax
Ausdruck
.-. .----------.
--->( & )-->| Ausdruck |--->
'-' '----------'