身近な例でポインタを考える(1)

 前回は、ポインタに関する簡単な概念について説明しました。その説明だけですと理解しにくいかと思いますので、身近なものに例えてポインタがどういうものかを説明していきたいと思います。

 その身近な例として、ジュースの自動販売機で考えていきましょう。

 ご存知のとおり、ジュースの自動販売機は、ボタンがいくつもついており、飲みたい飲み物のボタンを押して飲み物を買う仕組みです。鍵を開けると冷蔵庫になっていて、いくつかの入れ口があり、飲み物の種類別に格納して冷やしています。

 同じ飲み物なのにボタンが2個、もしくは3個以上ある自動販売機も珍しくありません。この理由は、このボタンを押したら冷蔵庫のどこに入れた飲み物を出すようにするかを登録している(複数のボタンが決まった一つの格納場所を見ている)からです。この概念は、ポインタと同じです。

 例えば、ボタンの数だけ自動販売機の中にジュースの入れ口があって、1対1で対応するようにしても良いかもしれません。しかし、その場合、12個のボタンがあったら12種類の飲み物を用意しなければならなくなります。同じ飲み物を複数のボタンに設定すると、同じジュースなのに左側のボタンが売り切れとなっていて右側のボタンでは買うことができる、といったようなおかしな事態が発生してしまいます。複数のボタンが同じ入れ口を見られるようにすることで、その入れ口が空になれば全てのボタンを売り切れにすることが出来ます。これは、ポインタの利点です。また、このようにすることで、ボタンの数だけジュースや入れ口を用意する必要がありません。つまり、場所をそれほど取る必要がないので節約になります。これも、ポインタの利点です。データが格納されるのはメモリ上ですから、沢山の変数があると、その分だけメモリを使ってしまうので、メモリの節約を目的にポインタが使われる場合もあります。補足として覚えておいていただけると幸いです。

 次回も、もうひとつ、身近なものに例えてポインタを解説していきたいと思います。

■スポンサーリンク

このページの先頭へ