ポインタとは、「変数のアドレスを記憶する変数」と定義することができます。
C言語の特徴にポインタが使用できることがあげられますが、ポインタからC言語がわからなくなったという話もよく耳にします。
けれども、順を追ってきちんと消化していけば、ポインタは難しいものではありません。読み飛ばさず、じっくりと理解するようにしてください。
ポインタについて理解するには「アドレス」とは何かをまず理解してください。
int a = 123; は実際には下図のように、 「メモリ上のある番地(下図では1000番地)に変数a としての領域を確保し、 その領域に 123 を格納する」ということになります。
この時、
a | 変数a の値(123)を示す |
---|---|
&a | 変数a のアドレス(1000)を示す |
と表現します。 参考1
ポインタとはアドレス変数、つまり変数のアドレスを記憶する変数のことです。
ポインタは必ず、
の 3ステップで用います。
ちょっと面倒ですが、下の使い方をよく見て、この 3ステップを確認してください。
間違いやすいのは「*」の使い方です。 各ステップで「*」がどのように使われているかよく注意してください。
実は
int a; scanf("%d", &a);
は
「変数a のアドレスが示すメモリエリアに入力データを整数変換して格納」の意味になります。
「初心者のためのポイント学習C言語」 Copyright(c) 2000-2004 TOMOJI All Rights Reserved