Ermittlung
der
Speicherzelle |
|
Bild |
|
|
|
Der Adressoperator & |
|
Auf den vorigen Seite hatten wir den Buchstaben a in
der Variable z gespeichert. Wir hatten angenommen, daß
das Betriebssystem dazu den Speicherplatz 5 gewählt hatte.
Nun wollen wir wirklich das Zeichen a in der Variable z
speichern, und schauen wo die Variable wirklich abgelegt
wird. Dazu benutzt man den Adressoperator &:
Programm:
#include <stdio.h>
void main()
{
char z='a';
printf ("%c \n", z);
printf ("%ld \n", &z);
printf ("%lx \n", &z);
}
|
Ausgabe:
a
6684148
65fdf4
Achtung! Die Ausgabe ist rechnerabhängig! Dies ist nur ein Beispiel! |
Erklärung:
Mit der ersten printf-Anweisung wird die Variable z
ganz normal ausgegeben.
Bei der zweiten printf-Anweisung steht ein &-Zeichen vor
der Variable. Weil das & vor der Variable steht, wird
nicht der Inhalt der Variable ausgegeben, sondern die
Adresse, an der die Variable z gespeichert ist. Das
&-Zeichen nennt sich deshalb Adressoperator.
Mit der dritten printf-Anweisung wird die Adresse nochmal
ausgegeben, aber diesmal in der für Adressen üblichen
Hexadezimalschreibweise.
|
|