第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
当ホーム・ページの一部または全部を無断で複写、複製、
転載あるいはコンピュータ等のファイルに保存することを禁じます。