next up previous contents
Next: 12.2 ポインタ Up: 12. ポインタ I Previous: 12. ポインタ I

12.1 アドレス演算子

先に述べたように変数のメモリ上の位置を取得するための演算子が用意されている。 メモリ上の位置はアドレスと呼ばれるので、この演算子はアドレス演算子と呼ばれ、 & で表される。アドレス演算子は、単項演算子であり、変数に作用する。従って、 常に何等かのメモリ上のデータに向かって作用するのであり、式などに作用するので はない点に注意しよう。

アドレス演算子は、作用させたい変数の前に置く。

        int a;
        cout << "Address of a is " << &a << endl;

上の例では、変数 a のアドレスを出力している。

但し、出力はこの場合、16進数で出力される。また、アドレスには 負の数はないことに注意しよう。(0は存在するが、特別な場所として 予約されている。)

\begin{figure}\begin{center}
\epsfile{file=addr}
\end{center}\end{figure}

上図では、変数 a のアドレスが 1232 で、アドレス 1232 には 4 という値が 格納されていることを示している。以後、アドレスはメモリの箱の図の上に書くもの とする。



Noriyo Kanayama