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

1. アドレス演算子

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

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


        int a;
        printf("Address of a is %u\n", &a);

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

注意
printf の書式指定子 %u は、符号無しの整数の 意味であり、アドレスには負の数はない点に注意しよう。

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

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



Noriyo Kanayama