第16章  ポインター基礎の基礎


さて、今回はみなさんが大好きなポインタの話です。 今までも、ポインタがらみのことはあちこちで出てきました。 ポインタがわからなくては、Cプログラムは書けないと言っても 過言ではありません。

でも、やっぱりポインタは難しいのです。

そこで、ここでは本当の基礎的なことしか解説しません。 もっと詳しく知りたい人は、書籍を調べてください。

以前の章でも紹介しましたが・・・

int a;

とすると、メモリのどこかに変数aのデータの格納場所 が確保されます。その大きさはint型の大きさです。 プログラマは、そのアドレスを知りません。 そのアドレスは、&aで表すことができます。 &aのようなアドレスを値とする変数が考えられます。 この変数をポインタと言います。

ptr = &a;

とすれば、ptrがポインタとなります。ptrはどのように 宣言するかというと

int *ptr;

のようになります。これをよく見ると *ptrという変数がint型であると言うようにも見えます。

int (*ptr);

変数に&をつけると、その変数のアドレスを表す。

ポインタに*をつけると、そのポインタの示す格納場所の内容を表す。

と覚えてしまいましょう。ちなみに、&とか*も演算子の一つです。

例によって例題をやってみましょう。

int a=12, *ptr;と1行で宣言してもかまいません。


さて、具体的に変数のアドレスを見てみましょう。 ところで、アドレスの桁数はシステムの環境により異なる ことに注意してください。たいていは、アドレスは int型の大きさに収まります。(あまり正しくない表現です)


aのアドレスとptrの中身が同じであることに注意してください。 16進表現の方法についてもこの際覚えてください。

今回の内容は、ポインターの基礎の基礎です。まだ「基礎」 までたどり着いていません。しかし心配はいりません。

少しずつ「猫でもわかる」ように解説していきます。



[Index][総合Index] [Previous Chapter] [Next Chapter]

Update Nov/05/1996 By Y.Kumei
当ホーム・ページの一部または全部を無断で複写、複製、 転載あるいはコンピュータ等のファイルに保存することを禁じます。